介绍
nvm 全英文也叫node.js version management,是一个nodejs的版本管理工具。nvm和n都是node.js版本管理工具,为了解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的node.js。
使用 nvm 可以很好解决不同项目要求 node 版本不同的问题,可以实现随意切换,对程序员开发十分友好。在 windows 系统和 mac 系统进行安装 nvm 时,其方式有些不同。
windows 系统
nvm
官网地址: https://github.com/coreybutler/nvm-windows/releases
-
nvm-setup.zip:安装版,推荐使用
-
nvm-noinstall.zip: 绿色免安装版,但使用时需进行配置。
点击网址进去,可以看到下面的“资产”列表,直接选择 nvm-setup.zip
进行安装即可。
安装
下载好 nvm-setup.zip
之后,双击安装即可,一路回车。
然后需要选择 nvm 的下载地址。
选择好后,下一步,需要选择 nodejs 的下载地址。(注意:这一步时需要注意你以前是否安装过nodejs,如果安装过,最好选择之前的路径)。
然后继续安装,一路回车即可。
注意:安装 nvm 之前最好把之前下载的 node 卸载干净,如果未卸载干净,可能安装过程中会出现一些问题,详细解决方法可以搜索网上教程进行解决。
出现下面的页面就表示安装成功。
然后可以在命令后输入 nvm version
查看 nvm 版本,验证是否成功。
然后可以根据项目需要使用如下命令下载 node 版本。
nvm install 【版本号】 //需要下载的 node 版本
nvm use 【node 版本】 //使用指定 node 版本号
nvm list //查看可用的(已下载的) node 版本号
node -v //查看当前使用的 node 版本号
npm -v //查看当前使用的 npm 版本号
可以直接使用 npm use
进行 node 版本切换。
其他命令:
nvm arch:显示node是运行在32位还是64位
nvm install <version> [arch] :安装 node, version 是特定版本也可以是最新稳定版本 latest。可选参数arch指定安装32位还是64位版本,默认是系统位数。可以添加 --insecure 绕过远程服务器的 SSL
nvm list [available] :显示已安装的列表。可选参数 available,显示可安装的所有版本。list可简化为ls
nvm on :开启 node.js 版本管理
nvm off :关闭 node.js 版本管理
nvm proxy [url] :设置下载代理。不加可选参数 url,显示当前代理。将 url 设置为 none 则移除代理
nvm node_mirror [url] :设置node镜像。默认是 https://nodejs.org/dist/ 如果不写url,则使用默认 url。设置后可至安装目录 settings.txt 文件查看,也可直接在该文件操作
nvm npm_mirror [url] :设置npm镜像。https://github.com/npm/cli/archive/ 如果不写 url,则使用默认url。设置后可至安装目录 settings.txt 文件查看,也可直接在该文件操作
nvm uninstall <version> :卸载指定版本 node
nvm use [version] [arch] :使用制定版本 node。可指定32/64位
nvm root [path] :设置存储不同版本 node 的目录。如果未设置,默认使用当前目录
nvm version :显示 nvm 版本。version 可简化为 v
同时在使用 nvm 下载 node 时要注意:node 官方服务器是在国外的,所以可能下载失败,此时我们需要配置 nvm 镜像,在安装目录下settings文件中新增如下两行。
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
注意:使用 nvm use 【版本号】
进行版本切换时,cmd 命令行的运行一定要以管理员身份运行,要不然会有报错。
如果要卸载某个 node 版本,可以使用 nvm uninstall 【版本号】
进行下载。
后续问题
1.通过 nvm install 安装的 node 版本都会放入在 nvm 安装的目录下,如果忘记了 nvm 安装的目录位置,可以使用 nvm root
进行查看。
nvm 使用不同 node 版本下载全局包时互不影响,相互独立。
注意:启用nvm —— 首次使用nvm时,需要启用nvm,使用nvm on命令来生成nodejs快捷方式。
也可以参考下面的链接进行安装:window10下node使用管理神器NVM安装配置超详细步骤-八叔技术之家
Mac 系统
1. 首先卸载以前已经安装/全局安装的 node/npm ,以防止干扰,可以在终端运行下面的命令进行操作。
#查看已经安装在全局的模块,以便删除这些全局模块后再按照不同的 node 版本重新进行全局安装
npm ls -g --depth=0
#删除全局 node_modules 目录
sudo rm -rf /usr/local/lib/node_modules
#删除 node
sudo rm /usr/local/bin/node
#删除全局 node 模块注册的软链
cd /usr/local/bin && ls -l | grep "../lib/node_modules/" | awk '{print $9}'| xargs rm
2. 安装
brew install nvm
安装成功后会出现下面的命令。
You should create NVM's working directory if it doesn't exist:
mkdir ~/.nvm
Add the following to ~/.zshrc or your desired shell
configuration file:
export NVM_DIR="$HOME/.nvm"
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh" # This loads nvm
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion
You can set $NVM_DIR to any location, but leaving it unchanged from
/opt/homebrew/opt/nvm will destroy any nvm-installed Node installations
upon upgrade/reinstall.
Type `nvm help` for further information.
也可以参照下面的链接进行安装:MAC安装NVM教程 - 简书
3. 下面根据提示创建 nvm 目录
mkdir ~/.nvm
-
下面就要配置 ~/.zshrc 配置文件
-
直接在终端编辑(:wq 保存退出)—— vi ~/.zshrc
-
找到对应文件进行修改
-
2. 在 ~/.szhrc 文件进行如下修改:
export NVM_DIR="$HOME/.nvm"
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && . "/opt/homebrew/opt/nvm/nvm.sh" # This loads nvm
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && . "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion
3. 使用 source 命令使配置生效。
source ~/.zshrc
4. 查看配置是否生效。
echo $NVM_DIR
5. 查看帮助 —— nvm -help
6. 安装 node
nvm -v //查看当前 nvm 版本
nvm install 【版本号】 //下载需要的 node 版本
node -v //查看当前 node 版本
npm -v //查看当前 npm 版本
nvm uninstall 【版本号】 // 卸载 node 版本
nvm on //全局启动 nvm 、 node
7. 设置淘宝镜像
npm config set registry https://registry.npm.taobao.org
存在的问题
有的安装安装后执行 nvm -v 之后,会出现 nvm: command not found 。这可能是因为系统是最新更新的 macOS Catalina 系统,默认的 shell 是 zsh,所以找不到配置文件,解决方法如下:
# 进入.nvm文件夹
cd ~/.nvm
# 创建 .bash_profile 文件,如果有则直接打开 open
touch .bash_profile
# 在.bash_profile文件中添加如下代码 vim .bash_profile即可编辑
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
#关闭保存,然后执行该文件
source .bash_profile
#再试试命令 nvm -v还不行则再看下面,同上把代码放一个新文件.zshrc而已:
# 创建 .zshrc 文件,如果有则直接打开 open .zshrc
touch .zshrc
# 在.zshrc文件中添加如下代码 vim .zshrc即可编辑
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
#关闭保存,然后执行该文件
source ~/.zshrc
然后再次执行 nvm -v,就可以继续下面的步骤。