通常情况下,当我们有多个项目来维护时,如果各个项目所使用的node版本不一样,这就需要我们同时来管理多个node版本,这时候我们可以使用nvm或者n来管理。
使用nvm来管理Node
nvm全称Node Version Manager,它是通过shell脚本实现nodejs版本管理的。,windows下用户官方推荐使用nvmw或nvm-windows。
安装
通过CURL
curl -o- curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
通过Wget
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
以上脚本会将nvm仓库clone到~/.nvm目录,然后会在~/.bash_profile, ~/.zshrc, ~/.profile, 或 ~/.bashrc
末尾添加source到你的配置文件,当然Mac用户也可以使用Homebrew来安装,安装完成以后需要我们再单独配置shell。
使用
首先使用nvm ls-remote命令查看当前都支持哪些版本的 nodejs,然后挑一个最新的稳定版,使用 nvm install 命令安装上即可。
nvm ls-remote
安装指定版本:
nvm install <node-version>
安装完成之后检查:
node -v
我们也可以用下面命令安装最新最稳定的node版本
nvm install stable
删除某版本的node
nvm uninstall <node-version>
如删除v8.4.0,过程中出现:
sudo: nvm: command not found
修改下目录权限,查看$NVM_DIR
这个变量指向的那个目录
$ echo $NVM_DIR
/Users/SeanLiu/.nvm
执行以下命令:
sudo chown -R SeanLiu "$NVM_DIR/versions/node/v8.4.0"
sudo chmod -R u+w "$NVM_DIR/versions/node/v8.4.0"
再次执行删除命令就可以了:
nvm uninstall 8.4.0
设置默认版本,nvm使用default的alias来实现默认版本,只要执行个命令
nvm alias default <node-version>
nvm alias default 8.9.1
以后再登录进系统时,就默认使用的是这个版本了
我们也可以指定使用某个版本的node:
nvm use <node-version>
也可以使用别名设置默认的版本
nvm use default
查看当前已经安装的版本:
nvm ls
查看当前正在使用的版本:
nvm current
以指定版本执行脚本:
nvm run <node-version> myApp.js
卸载nvm
rm -rf ~/.nvm
使用n来管理Node
n是非常简单易用的node版本管理器,也是Node的一个???,作者TJ也是express框架的作者。
安装
npm install -g n
安装完成之后,直接输入n可以显示当前已经安装的版本和正在使用的版本(前面有一个o),你可以通过移动上下方向键来选择要使用的版本,最后按回车生效。
n
也可以通过CURL来安装
curl -L https://git.io/n-install | bash
也可以通过如下命令安装:
git clone https://github.com/visionmedia/n.git
cd n
make install
如果需要安装到指定目录,需要在安装前增加PREFIX前缀,默认是安装在/usr/local/bin/n,如果将n安装到~/bin/n
$PREFIX=$HOME make install
n使用
安装指定版本
n <node-versioin>
如果该版本事先已安装,则就使用它
安装最新版本
n latest
安装最稳定版本
n stable
获取帮助
n --help
删除某版本node
n rm <node-version>
以指定的版本来执行脚本
n use <node-version> myApp.js
查看某版本node的安装路径
n bin <node-version>
nvm与n
- n是作为一个node的??槎嬖?,而nvm 是一个独立于node/npm的外部 shell 脚本,因此n比nvm更加局限。
- 不要同时使用两者,这样会导致版本混乱,可以根据自己的喜好,选择其一。