使用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
将安装最新版本的Node
nvm install v12.7.0
将安装12.7.0
版本的Node
nvm uninstall v12.7.0
卸载12.7.0
版本的Node
nvm 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/node
nvm --help
查看更多命令用法
其他相关命令
command -v nvm
查看nvm
是否安装成功node -v
查看当前使用的Node
版本which node
查看当前Node
的安装目录
其他问题
- 由于
Node
版本的升级,所以当编译项目的时候可能会报依赖包的错误,这个时候就需要升级依赖包,将项目的node_modules
目录删了,重新执行npm install
。 - 升级
Node
后,由于内存2048M
的限制,编译项目的时候很有可能会报JS stack trace
内存溢出的错误,这个时候可以用increase-memory-limit
来解决。