使用nvm来管理Node版本
次访问
使用 nvm 来管理 Node 版本
nvm 是 Node.js 的版本管理工具,可以创建不同版本 Node 的隔离环境,从而避免不同版本包之间的干扰。官方 github
卸载全局安装的 Node
最近在做项目的时候,发现编译速度特别慢,而升级 Node 版本之后速度会明显提升。所以这才有使用 nvm 来管理 Node 的故事。
目前本地全局安装的 Node 版本是 9.11.1, 这个版本还是 18 年 4 月左右更新的,是相当的跟不上节奏了。这里可以查看 Node 历史版本。
安装 nvm 之前最好是将现有的全局 Node 进行卸载,否则会发生冲突。
终端下查看
Node的全局安装目录:1
2ccp:~ ccp$ which node
/usr/local/bin/nodeMac环境下全局的Node会被安装在/usr/local/bin/目录下,接下来我们要打开这个目录;打开访达,然后按下快捷键
⇧ + ⌘ + G,输入上面的目录,即可打开对应的目录;接下来依次检查并且删除这些目录下的
node和node_modules相关文件和文件夹:/usr/local/lib/usr/local/include
打开
/usr/local/bin并删除node可执行文件;如果你是使用的
brew install node安装的Node,那么你还需要在终端中执行brew uninstall node命令来卸载。
过程中,你可能还需要在终端中执行一些指令:
1 | sudo rm /usr/local/bin/npm |
至此,全局安装的 Node 才算卸载干净。
安装 nvm
在终端里执行如下脚本:
1
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
然后在终端输入命令
command -v nvm,如果显示nvm则表示安装成功;否则如果显示nvm: command not found,则需要做如下操作:在
.nvm同级目录下创建.bash_profile文件,终端键入如下命令:1
touch ~/.bash_profile
把以下代码贴到上面的文件中:
1
2export NVM_DIR=~/.nvm
source ~/.nvm/nvm.sh
nvm 安装后,可以用 nvm ls 来查看,如果会显示安装的 Node 版本列表,则显示安装成功。有了 nvm 后,在用 npm install xxx -g 进行全局安装的时候会把包安装对应版本的 Node 下,如果是 Mac 则目录 user/.nvm/versions/node/v12.16.1/bin 下可以看到对应的全局命令。
nvm 常用命令
nvm ls-remote查看Node远程版本库nvm install node将安装最新版本的Nodenvm install v12.7.0将安装12.7.0版本的Nodenvm uninstall v12.7.0卸载12.7.0版本的Nodenvm ls查看已经安装的Node版本nvm use v12.7.0切换12.7.0为当前使用的版本nvm alias default v12.7.0将12.7.0设置为Node的默认版本nvm which v12.7.0查看12.7.0版本的Node的安装目录,比如:/Users/ccp/.nvm/versions/node/v12.7.0/bin/nodenvm --help查看更多命令用法
其他相关命令
command -v nvm查看nvm是否安装成功node -v查看当前使用的Node版本which node查看当前Node的安装目录
其他问题
- 由于
Node版本的升级,所以当编译项目的时候可能会报依赖包的错误,这个时候就需要升级依赖包,将项目的node_modules目录删了,重新执行npm install。 - 升级
Node后,由于内存2048M的限制,编译项目的时候很有可能会报JS stack trace内存溢出的错误,这个时候可以用increase-memory-limit来解决。