NVM是什么?
nvm(node version manager)是一个用于管理nodejs版本的工具。有时我们的项目可能会依赖于不同版本的nodejs,需要进行node版本的切换,可能就是到官网下载、覆盖安装、当要回退时又得下载会原来版本、覆盖安装...这样子太麻烦了。那么nvm就是为解决这个问题而生的,让你方便快捷地切换node版本。
删除本地node
首先,你要确保目前没啥工作项目做,再来搞这个,不然出了什么幺蛾子,本楼不负责哈 [狗头护体]。
安装nvm前先记住当前已安装的node版本号、然后将其卸载删除。(原因:1、清除多余的node环境,用nvm集中管理node;2、避免出现冲突)
依次在终端执行以下命令,删除node(引用来自https://www.jianshu.com/p/920...)
sudo npm uninstall npm -g
sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
sudo rm -rf /usr/local/include/node /Users/$USER/.npm
sudo rm /usr/local/bin/node
sudo rm /usr/local/share/man/man1/node.1
sudo rm /usr/local/lib/dtrace/node.d
然后检查下:
node //command not found
npm //command not found
安装nvm
目前nvm最新版本v0.34.0,要查看当前最新请前往https://github.com/creationix...
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
或者
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
执行完成后,nvm存放在当前用户目录下的/.nvm(即是~/.nvm),并会将一段配置代码写入一个当前用户目录下的配置文件中(~/.bash_profile、 ~/.zshrc、 ~/.profile、或者 ~/.bashrc)
然后我们执行命令 nvm ,如果有操作说明展示则你的nvm安装成功了。
如果报bash: nvm: command not found则说明我们的环境还有问题,需要修改配置文件:打开与/.nvm同级目录下的.bash_profile文件(即~/.bash_profile,如果不存在就新建),然后在文件末尾添加该行代码:
source ~/.bashrc // 上面写入配置的是.bashrc配置文件
保存后,再重新打开一个终端,然后再输入 nvm 验证一下,应该就没问题了(如还有问题麻烦留言哟)nvm官网有更详细的安装教程https://github.com/creationix...
nvm的使用
很简单,主要是几个命令
- nvm install stable // 安装最新稳定版 node(当前最新稳定版11.6.0)
- nvm install <version> // 安装指定版本 (install v10.15.0或install 10.15.0)
- nvm uninstall <version> // 卸载指定版本node,(如果删除的为当前使用版本,要解绑,则执行 nvm deactivate)
- nvm use <version> // 切换使用指定的版本node
- nvm current //显示当前使用的版本
- nvm ls //列出所有安装的版本
- nvm ls-remote //列出官网上node的所有版本
- nvm alias <name> <version> //给不同的版本号添加别名
- nvm unalias <name> //删除已定义的别名
- nvm alias default <version> //指定默认版本(设定后需要打开新的终端才生效)
- nvm deactivate //解除当前版本绑定
- .....更多命令可在终端输入 nvm 查看
*所有的不同版本的node都安装在~/.nvm/version/node/目录下
*要删除卸载nvm直接将整个.nvm文件夹删除就ok了。
最后
程序猿最讨厌的其中之一是被安装一个应用或工具这样的事情耽误时间,以上若有不对的地方麻烦指教,谢谢^_^!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。