nvm 是 node 的版本管理工具, 可以创建不同版本 node 的隔离环境, 避免相互之间包版本干扰. 官方 github https://github.com/creationix/nvm .
本文的使用环境
- OS X El Capitan (Version 10.11.6)
- zsh 5.0.8 (x86_64-apple-darwin15.0)
目录
安装 nvm
查看 nvm 可以安装的 node 版本
安装指定版本的 node
查看已经安装的 node
切换 node 版本
设定默认的 node 版本
删除指定版本的 node
参考资料
1. 安装 nvm
安装
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash
验证 nvm 安装完成
command -v nvm
如果安装完成, 就会显示如下
nvm
2. 查看 nvm 可以安装的 node 版本
查看可以安装的版本
nvm ls-remote
查看所有可以安装的 LTS 版本 (长期支持版)
nvm ls-remote --lts
3. 安装指定版本的 node
官方推荐的安装方式
nvm install < 版本号 >
$ nvm install v5.5.0
但是推荐使用速度更快的方式: 使用淘宝源安装
$ NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node nvm install 6
默认会安装一个系列中最新的版本
- $ NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node nvm install 6
- Downloading and installing node v6.10.2...
- Downloading https://npm.taobao.org/mirrors/node/v6.10.2/node-v6.10.2-darwin-x64.tar.gz...
- ######################################################################## 100.0%
- Computing checksum with shasum -a 256
- Checksums matched!
- Now using node v6.10.2 (npm v3.10.10)
- Creating default alias: default -> 6 (-> v6.10.2)
也可以在最后指定版本号
- $ NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node nvm install 6.10.2
- $ NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node nvm install 7.9.0
- Downloading and installing node v7.9.0...
- Downloading https://npm.taobao.org/mirrors/node/v7.9.0/node-v7.9.0-darwin-x64.tar.gz...
- ######################################################################## 100.0%
- Computing checksum with shasum -a 256
- Checksums matched!
- Now using node v7.9.0 (npm v4.2.0)
4. 查看已经安装的 node
查看安装的版本 nvm ls
- $ nvm ls
- v6.10.2
- -> v7.9.0
- default -> 6 (-> v6.10.2)
- node -> stable (-> v7.9.0) (default)
- stable -> 7.9 (-> v7.9.0) (default)
也可以通过目录查看
- /Users/macroot [macroot@macroots-MacBook-Pro] [9:06]
- > ls -a ~/.nvm/versions/node
. .. v6.10.2 v7.9.0
5. 切换 node 版本
切换 node 版本
nvm use < 版本号 >
切换至指定版本
- $ nvm use v6.10.2
- Now using node v6.10.2 (npm v3.10.10)
用 node -v 确认
$ node -v v6.10.2
6. 设定默认的 node 版本
设定默认的 node 版本
nvm alis default < 版本号 >
- $ nvm alias default v6.6.0
- default -> v6.6.0
打开新的终端, 用 nvm current 查看当前版本显示
- $ nvm current
- v6.6.0
7. 卸载指定版本的 node
7.1 用户权限提升
当使用
nvm uninstall <node 版本号 >
的时候, 通常会被提示:
- $ nvm uninstall v6.6.0
- file is not writable or self-owned: $NVM_DIR/versions/node/v6.6.0/bin/cnpm
- Cannot uninstall, incorrect permissions on installation folder.
- This is usually caused by running `npm install -g` as root. Run the following commands as root to fix the permissions and then try again.
- chown -R username "$NVM_DIR/versions/node/v6.6.0"
- chmod -R u+w "$NVM_DIR/versions/node/v6.6.0"
最后两行的意思是:
第 1 行: 把指定目录的所有者改为 username 所有, 这里 username 是用户名, 可以改成 $(whoami) 避免输入错误. 所以先输入以下命令 (使用 sudo):
$ sudo chown -R $(whoami) "$NVM_DIR/versions/node/v6.6.0"
第 2 行: u+w 中 u 表示所有者,+ 表示增加权限, w 表示可写入. 整句表示对目录所有者增加写入权限. 所以再输入 (使用 sudo):
$ sudo chmod -R u+w "$NVM_DIR/versions/node/v6.6.0"
7.2 删除指定版本 node
当用户有了权限之后, 就可以删除指定版本的 node
- $ nvm uninstall v6.6.0
- Uninstalled node v6.6.0
8. 参考资料
node 版本管理工具 nvm-Mac 下安装及使用 https://segmentfault.com/a/1190000004404505
Mac 下, nvm 安装 Node 及配置 http://www.jianshu.com/p/a3f8778bc0a1
nvm 卸载指定 node.js 版本号 https://www.xgllseo.com/?p=5671
来源: http://www.mzh.ren/使用nvm对node版本进行控制.html