NodeJS版本管理工具-nvm

前言

nvm 是NodeJS版本管理工具。

下载的版本部分Node和NPM版本不匹配。

目前测试成功的版本

  • 10.16.3
  • 12.22.6
  • 16.13.0
  • 18.20.8

安装

Windows

查看我自己的Node版本

1
node -v

所以升级Node版本即可,这里使用nvm管理Node版本

nvm可以通过下面的连接下载安装即可。

http://nvm.uihtm.com/

https://github.com/coreybutler/nvm-windows

Download the latest installer

链接:https://pan.baidu.com/s/1tvOu3UoIUF2riVRqbcmqTA

提取码:763s

注意

安装路径不能出现空格,否则安装失败!

安装后会自动创建以下的环境变量

  • NVM_HOME:指向 nvm 的安装目录。
  • NVM_SYMLINK:指向当前使用的 Node.js 版本的符号链接目录。

查看环境变量

1
2
echo %NVM_HOME%
echo %NVM_SYMLINK%

Linux

国内镜像

安装

1
2
3
4
yum install curl
bash -c "$(curl -fsSL https://gitee.com/RubyKids/nvm-cn/raw/master/install.sh)"

source ~/.bashrc

卸载

1
bash -c "$(curl -fsSL https://gitee.com/RubyKids/nvm-cn/raw/master/uninstall.sh)"

添加

1
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node

输入后,在终端中输入下面的命令使其生效,然后可以接着运行nvm命令

1
source ~/.bashrc

此时运行 查看所有可用版本

1
nvm ls-remote

镜像

NVM镜像

Windows

设置镜像地址

在 nvm 的安装路径下,找到 settings.txt

查找nvm路径(只能在CMD中使用)

1
where nvm

添加后内容如下:

1
2
3
node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/
root: D:\Tools\nvm

或者执行

1
2
3
nvm npm_mirror https://npmmirror.com/mirrors/npm/
nvm node_mirror https://npmmirror.com/mirrors/node/
nvm root D:\Tools\nvm

NPM镜像

1
2
3
npm config set registry https://registry.npmmirror.com/
npm cache clean -f
npm config list

其中npm config提供的参数:

  • registry 是设置依赖的镜像
  • disturl是设置Node的镜像
  • sass_binary_site是sass的镜像
  • electron_mirror是electron的镜像
  • python_mirror是python的镜像

新版本除了registry,其他都没法用命令设置了

我们可以编辑文件

1
npm config edit

添加

1
2
3
4
5
registry=https://registry.npmmirror.com/
disturl=http://npmmirror.com/mirrors/node/
electron_mirror=http://npmmirror.com/mirrors/electron/
python_mirror=http://npmmirror.com/mirrors/python/
sass_binary_site=http://npmmirror.com/mirrors/node-sass/

切换版本

1
2
3
4
5
6
7
8
# 查看可用版本
nvm list

# 安装最新的12版
nvm install 12.22.6

# 切换到12.22.6
nvm use 12.22.6

查看node和npm版本

1
2
node -v
npm -v

常见问题

安装依赖报错

npm install的时候报错

当通过nvm切换nodejs版本为16以上时,npm install [package]报错:

Unexpected token ‘.’

原因是nvm-windows的问题,需要升级NVM版本

我这里升级到最新的1.2.2版本就没问题了

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

下载后要卸载并重新下载NodeJS

1
2
3
nvm uninstall 18.20.8
nvm install 18.20.8
nvm use 18.20.8

查看NVM版本

1
nvm version

下载提示证书失效

npm ERR! request to https://registry.npm.taobao.org/yorkie/download/yorkie-2.0.0.tgz failed, reason: certificate has expired

临时不验证证书

1
npm config set strict-ssl false

安装完所需的包后,最好将此设置还原,以保持更高的安全性:

1
npm config set strict-ssl true

下载版本失败

如果直接选择版本下载失败,我们可以自己下载

https://registry.npmmirror.com/binary.html?path=node/

下载的压缩文件解压,把文件夹的名称修改为类似于v12.22.6这样的格式放在nvm的目录下即可