一、背景介绍
nodejs版本跨度较大,随着项目不断的增加,老项目使用的node版本无法满足新项目,但是直接升级node版本风险较大,这时需要多版本管理工具nvm。
二、nvm安装
- mac OS安装命令
其它系统的安装参考 nvm官网地址# 安装完成之后不要关闭该窗口 brew install nvm
- 验证
提示找不到命令,这时候查看安装提示,把下图红色框内的东西添加到文件 ~/.zshrc,然后source重启再次验证成功~ nvm zsh: command not found: nvm
export NVM_DIR="$HOME/.nvm" [ -s "/usr/local/opt/nvm/nvm.sh" ] && . "/usr/local/opt/nvm/nvm.sh" # This loads nvm [ -s "/usr/local/opt/nvm/etc/bash_completion.d/nvm" ] && . "/usr/local/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion ```
三、nvm实现原理
【实现原理】在同一个目录下面存放多个node版本的目录,切换时将对应的版本路径加入环境变量从而实现版本的切换,验证步骤如下:
1、查看node路径
node -v
which node
/Users/jiaxiong/.nvm/versions/node/v7.0.0/bin/node
# 切换版本
nvm use v8.0.0
node -v
which node
/Users/jiaxiong/.nvm/versions/node/v8.0.0/bin/node
2、确认环境变量
echo $PATH
/Users/jiaxiong/.nvm/versions/node/v8.0.0/bin:/usr/local/opt/node@8/bin
# 切回7.0版本
nvm use v7.0.0
echo $PATH
# 路径已经切换回去
/Users/jiaxiong/.nvm/versions/node/v7.0.0/bin:/usr/local/opt/node@8/bin
四、nvm使用
# 查看安装node版本
nvm ls
# 安装指定版本
nvm install 7.0
# 使用某一版本
nvm use v7.0.0
# 卸载版本
nvm uninstall 8.0.0
# 设置默认版本,设置完成之后在新shell窗口生效(官网说法),但是我自己在mac尝试没有生效,可能与之前手动安装的node有关系
nvm alias default 7.0.0