在项目的开发和维护过程中,可能各个项目所使用的node版本不同,导致需要经常切换版本,比较繁琐,在遇到类似场景时,可以使用nvm这个工具来进行node版本管理

nvm:Node Version Manager,允许在控制台中快速的对不同版本的node进行管理。

安装前建议

如果你的电脑安装了node.js,为了后面更好的安装和使用体验,建议先卸载node.js,由nvm来进行统一管理。

Linux下进行安装

在线安装

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
或者
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

上述任一命令都会下载脚本并运行它。该脚本将 nvm 存储库克隆到~/.nvm,并尝试将以下代码段中的源代码行添加到正确的配置文件(~/.bash_profile~/.zshrc~/.profile~/.bashrc)。

export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

补充说明

  • 如果环境变量$XDG_CONFIG_HOME存在,它将把nvm文件放在那里。
  • 您可以添加--no-use到上述脚本 (… nvm.sh --no-use) 的末尾以推迟使用nvm,直到您手动使用use它。
  • NVM_SOURCE您可以使用、NVM_DIRPROFILENODE_VERSION变量自定义安装源、目录、配置文件和版本。例如:curl ... | NVM_DIR="path/to/nvm"。确保NVM_DIR不包含尾部斜杠。
  • 安装程序可以使用gitcurlwget下载nvm,以可用者为准。

离线安装

如果可以访问Github,可以去此地址自行挑选版本下载。如果访问不了Github,可以访问该网盘地址下载。

下载完毕后,将包上传到服务器上,假设上传包的地址在/mnt目录下。

# 进入上传目录
cd /mnt
# 解压缩
unzip nvm-0.39.1.zip
# 将nvm移动到用户目录下
mv nvm-0.39.1 ~/.nvm
# 删除压缩包
rm -rf nvm-0.39.1.zip
# 配置
echo "source ~/.nvm/nvm.sh" >> ~/.bashrc
# 刷新配置
source ~/.bashrc
# 验证
nvm -v

nvm使用

以下命令基于nvm v0.39.1,部分命令可能低版本没有。

  • nvm install [version]:下载指定版本的node。
  • nvm uninstall <version>:卸载指定版本的node。
  • nvm use <version>:切换使用指定版本的node。
    基础命令其实这些就够了,如果有其他需求可以输入nvm --help查看所有命令。

Windows下进行安装

压缩包下载地址

执行程序安装下载地址

下载以上文件后,如果是压缩包,则解压后运行setup.exe进行安装,如果是exe可执行程序,则直接运行进行安装。

在控制台中输入npm -v查看是否安装完成。

image-20220927094723870

nvm使用

以下命令基于nvm v1.1.9,部分命令可能低版本没有。

  • nvm arch: 显示当前nvm配置,即默认安装node时选择64位或者32位的版本。也可以使用nvm arch 32 或者nvm arch 64进行设置。

  • nvm current:显示当前正在使用的node版本。

  • nvm list [available]

    • nvm list:显示本地已安装的所有node版本。

    • nvm list available:显示所有可安装的node版本。

      image-20220927101704683

  • nvm install <version> [arch]:在线安装node,使用npm install 版本号来进行node安装,也可以使用nvm install latest来安装最新版的node。如果不指定arch为32bit或者64bit,那么默认使用system arch,也就是nvm arch命令查询出来的arch,也可以通过`nvm install 版本号 32/64来进行指定arch位数版本的安装。

  • nvm uninsatll [version]:卸载指定版本的node,注意:不能卸载当前正在使用的node。

  • nvm on:启用node版本管理。

  • nvm off:禁用node版本管理。

  • nvm proxy [url]:设置用于下载的代理。将[url]留空以查看当前代理。

  • nvm node_mirror [url]:设置node镜像地址,默认为https://nodejs.org/dist/.将[url]留空以使用默认url。

  • nvm npm_mirror [url]:设置npm镜像地址,默认为https://github.com/npm/cli/archive/.将[url]留空为默认url。

  • nvm use [version] [arch]:切换为使用指定版本。可以选择使用“latest”、“lts”或者“newest”。"newest"是最新安装的版本。可选指定32/64位arch。nvm user <arch>将继续使用所选版本,但切换到32/64位模式。

  • nvm version:显示当前正在运行的nvm的版本。

  • nvm root [path]:设置nvm存储不同版本node.js的目录,如果未设置[path]将显示当前根目录。