NVM是一个非常方便的node包管理工具,可以实现在NodeJS 各个不同版本之间自由的进行切换。下面,介绍用root权限安装NVM工具。到2021年7月,nvm的最新版本为v0.39.1。

Linux安装nvm

github地址:https://github.com/nvm-sh/nvm

1.下载包

1
2
cd /usr/local
wget --no-check-certificate https://github.com/nvm-sh/nvm/archive/refs/tags/v0.39.1.tar.gz

2.解压包

1
tar -xvf v0.39.1.tar.gz

在这里拿到文件的安装目录,放哪里无所谓

3.配置bashrc文件

export NVM_DIR="/usr/local/nvm-0.39.1" 改成自己的目录

1
2
3
4
5
6
#编辑文件
vim ~/.bashrc

export NVM_DIR="/usr/local/nvm-0.39.1"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion

4.使用

命令行生效 敲一下命令

1
2
3
4
5
6
#刷新配置
source ~/.bashrc
#判断nvm是否安装
nvm -v
nvm install 16.15.0
nvm install 12.16.0

可以看到我这里已经使用nvm安装了两个不同版本的node

在哪个项目中使用nvm就直接nvm use 版本切换就可以了

5.使用nvm下载相关node版本

1
2
3
4
5
6
7
nvm install 14.13.2
#nvm常用命令
nvm uninstall 14.13.2 // 移除 node 14.13.2
nvm use 14.13.2 // 使用 node 14.13.2
nvm ls // 查看目前已安装的 node 及当前所使用的 node
nvm ls-remote // 查看目前线上所能安装的所有 node 版本
nvm alias default 14.13.2 // 使用 14.13.2 作为预设使用的 node 版本

设置国内代理【可选】

1
2
# 默认地址为:https://nodejs.org/dist
export NVM_NODEJS_ORG_MIRROR=https://mirrors.aliyun.com/nodejs-release/

问题

安装node18以上的版本时出现:node: /lib64/libm.so.6: version GLIBC_2.27' not found (required by node)`

参考:https://github.com/nvm-sh/nvm/issues/2972

方案:the linux kernel version is too old to match the node v18, and the solution is either upgrade the glibc version or downgrade the node's version

需要升级glibc到2.27以上或者降级node版本

windows安装nvm

github地址:https://github.com/coreybutler/nvm-windows/releases

可以选择noinstallsetup安装,区别是前者是免安装版,需要手动配置, 略麻烦

这里建议把nodejs和nvm安装到同一个文件夹下面,方便管理。

1.修改nvm的安装配置

因为nvm默认安装node使用的是国外的镜像,为了避免安装失败,所以要修改一下nvm配置,首先打开你的nvm所在文件夹,用编辑器打开settings.txt

1
2
3
4
root: D:\Software\nvm\nvm
path: D:\Software\nvm\nodejs
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/

2.安装

  • 添加完之后打开命令行工具执行nvm install [version],这里的version指的是你想要安装的node版本,下同。
  • 安装完成后使用nvm ls查看已安装的node版本
  • 使用nvm use [version]来使用你选择的node版本
  • 也可使用nvm uninstall [version]卸载node版本

例如nvm install 10.24.1则是安装v10.24.1版本的node,而nvm uninstall 10.24.1为卸载v10.24.1版本的node。

安装完成后在命令行工具输入node -vnpm -v检查是否安装成功,若命令行输出版本号则说明安装成功。

注:如果输入npm/node命令提示not found,可以下载一个之前没下过的版本,令nvm生成D:\Software\nvm\nodejs即可

3.配置npm

首先打开安装nvm时创建的nodejs文件夹,然后在里面创建node_globalnode_cache两个文件夹。

然后在命令行工具执行下面两条命令来修改npm全局安装包和缓存的位置:

1
2
npm config set cache=D:\Software\nvm\nodejs\node_cache
npm config set prefix=D:\Software\nvm\nodejs\node_global

这时候使用npm安装的全局包都会安装到指定的路径,可以在命令行工具执行npm i express -g

配置好后在C:\Users\admin下会出现.npmrc这个文件,说明配置成功,接下来配置环境变量

4.环境变量

配置环境变量的目的主要是全局依赖的指令能够在命令行里使用

右键我的电脑 > 属性 > 高级系统设置,高级选项卡里选择环境变量

用户变量里选择path后,查看是否有这些,如果没有则添加上去

然后在系统变量选择新建,添加NODE_PATH

注意:如果全局安装的包无法找到,即无法使用全局命令,可以尝试将NODE_PATH变量值后面的\node_modules去掉,然后重新打开应用程序尝试。

如果还无法使用全局命令,尝试右键将“以管理员身份运行此程序”选项打开

配置完成