nodejs的版本控制
由于不同项目开发的时间的不同,所使用的的node版本的不同,经常会出现各种各样的神奇报错情况,而不断卸载重新安装node又显示很麻烦繁琐,这时候出现了nvm这个node管理工具
1 下载安装git
下载地址:https://gitforwindows.org/
2 windows安装nvmw
2.1 在cmd下运行
Git clone git://github.com/hakobera/nvmw.git "%HOMEDRIVE%%HOMEPATH%.nvmw"
2.2 会生成一个文件夹.nvmw文件
2.3 打开将 C:\Users\Administrator.nvmw(根据每个人的路径填写)手动添加到环境变量
2.4 打开命令行终端(快捷键:Windows+r,进入cmd)
输入命令 nvmw 查看是否配置成功,注意这里输入命令的时候,必须得重启你的命令行终端,否则是不会生效的,下图显示的就是配置成功的输出了
nvmw
2.5 修改源代码
虽然是安装成功了,但是因为是国内,所有还需要手动配置几个.nvmw下的文件
fget.js文件47行,XMLHTTP 改为ServerXMLHTTP
nvmw.bat文件137行 : x64改为win-x64
22行:
if not defined NVMW_NODEJS_ORG_MIRROR (
set "NVMW_NODEJS_ORG_MIRROR=https://nodejs.org/dist"
)
if not defined NVMW_IOJS_ORG_MIRROR (
set "NVMW_IOJS_ORG_MIRROR=https://iojs.org/dist"
)
-------------------------------改为-------------------------------------------
if not defined NVMW_NODEJS_ORG_MIRROR (
set "NVMW_NODEJS_ORG_MIRROR=http://npm.taobao.org/mirrors/node"
)
if not defined NVMW_IOJS_ORG_MIRROR (
set "NVMW_IOJS_ORG_MIRROR=http://npm.taobao.org/mirrors/iojs"
)
get_npm.js文件 第8行
var NVMW_NPM_MIRROR = process.env.NVMW_NPM_MIRROR || 'https://github.com/npm/npm/archive';
----------------------------------改为--------------------------------------
var NVMW_NPM_MIRROR = process.env.NVMW_NPM_MIRROR || 'http://npm.taobao.org/mirrors/npm';
第44行-51行改为
var pkgUri = "https://npm.taobao.org/mirrors/node/index.json";
wget(pkgUri, function (filename, pkg) {
if (filename === null) {
return noNpmAndExit();
}
var _pkg = JSON.parse(pkg);
for(var i = 0,n=_pkg.length;i<n;i++){
var obj = _pkg[i];
if(obj.version == binVersion){
downloadNpmZip(obj.npm);
}
}
})
2.6 上面的文件修改成功之后重启你的命令行终端,在命令行中可以依次输入下面的命令
//查看是否可以运行 nvmw
nvmw
//查看已安装的包 这里如果是第一次查看是什么都没有的主要是为了与安装后的作比较
nvmw ls
//安装任意版本的 node 安装时间会有一点的久,注意:安装之后默认的使用的就是你安装的这个版本了
nvmw install v4.8.6
//安装之后再次查看已安装的包 这时会发现有了 4.8.6 的包
nvmw ls
//查看 node 版本,会发现已经是 v4.8.6 了 证明成功了
node -v
2.7 nvmw 的一些基础的命令
//安装某个版本
nvmw install v0.10.20
//卸载某个版本
nvmw uninstall v0.10.20
//使用某个版本,前提是你使用的这个版本已安装
nvmw use v0.10.20
//查看所有的你已安装的版本包
nvmw ls
3 Linux安装nvm
与 Windows 不同,我们并不一定要先卸载原有的 NodeJS。当然我们推荐还是先卸载掉比较好。另外,你还需要 C++ 编译器,Linux 发行版一般不用担心,像 Ubuntu 都可以直接用 build-essential 套件,OS X 的话,可以用 X-Code 的命令行工具。运行这个命令即可:
xcode-select --install
sudo apt-get install build-essential
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
或者
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
从远程下载 install.sh 脚本并执行。注意这个版本年数字 v0.33.0 会随着项目开发而变化。随时通过官方最新安装命令来检查最新安装版本是有好处的。
安装多版本 node/npm
例如,我们要安装4.2.2版本,可以用如下命令:
nvm install 4.2.2
nvm 遵守语义化版本命名规则。例如,你想安装最新的 4.2 系列的最新的一个版本的话,可以运行:
nvm install 4.2
nvm 会寻找 4.2.x 中最高的版本来安装。
你可以通过以下命令来列出远程服务器上所有的可用版本:
nvm ls-remote
Windows 的话,就是:
nvm ls available
在不同版本间切换
每当我们安装了一个新版本 Node 后,全局环境会自动把这个新版本设置为默认。
nvm 提供了 nvm use 命令。这个命令的使用方法和 install 命令类似。
例如,切换到 4.2.2:
nvm use 4.2.2
切换到最新的 4.2.x:
nvm use 4.2
切换到 iojs:
nvm use iojs-v3.2.0
切换到最新版:
nvm use node
每次执行切换的时候,系统都会把 node 的可执行文件链接放到特定版本的文件上。
我们还可以用 nvm 给不同的版本号设置别名:
nvm alias awesome-version 4.2.2
我们给 4.2.2 这个版本号起了一个名字叫做 awesome-version,然后我们可以运行:
nvm use awesome-version
下面这个命令可以取消别名:
nvm unalias awesome-version
另外,你还可以设置 default 这个特殊别名:
nvm alias default node
列出已安装实例
nvm ls
- 点赞
- 收藏
- 关注作者
评论(0)