您的位置:

mac nvm详解

一、什么是nvm

nvm(Node Version Manager)是一个简单的bash脚本,用于管理多个活跃Node.js版本。通过nvm,可以轻松地在同一台计算机上切换和管理多个Node.js版本,而无需手动更改版本。

nvm 还允许您在同一系统上为多个应用程序使用不同的版本。例如,一个应用程序可以使用 Node.js v8.0,而另一个应用程序可以使用 Node.js v10.6。

安装nvm

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash

安装完毕后,我们需要重新打开一个终端

查看支持的node版本

nvm ls-remote

安装指定版本的node

nvm install 16.0.0

二、nvm常用命令

列出已安装的nodejs版本

nvm ls

使用指定版本的nodejs

nvm use 16.0.0

设置默认的nodejs版本

nvm alias default 16.0.0

升级nvm

nvm install-latest-npm

查看nvm版本

nvm --version

三、常见问题

1. 切换版本后npm包丢失

原因:在使用 nvm use v4.0.0 切换node版本时,nvm 会修改环境变量 PATH 中的节点,并将全局 npm 模块安装路径变成了 ~ / .nvm / versions / node / v4.0.0 / lib / node_modules ,当你再次切换回另一个版本时,全局安装的模块路径就不再是之前的全局模块路径,所以先前全局 node module 目录下的应用程序与包,在新的node版本下是找不到的。

解决方法:
执行 npm root -g,查看全局包安装路径。
将全局包移动到 nvm目录下,例如:mv /usr/local/lib/node_modules/* ~/.nvm/v12.6.0/lib/node_modules/
再次切换node版本,npm包就不会丢失。

2. nvm: command not found

原因:未正确配置nvm环境变量。

解决方法:
将下面的语句添加到 ~/.bashrc 文件中,并执行 source ~/.bashrc:
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh

四、总结

通过nvm,可以轻松地在同一台计算机上切换和管理多个Node.js版本,同时它还允许您在同一系统上为多个应用程序使用不同的版本。文章详细介绍了nvm的安装及常用命令,同时还总结了常见问题的解决方法。