nodejs版本管理工具-nvm

nvm全英文也叫node.js version management,是一个nodejs的版本管理工具。nvm和n都是node.js版本管理工具,为了解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的node.js。

官方文档

https://github.com/nvm-sh/nvm.git

安装

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

或者

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

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

刷新

source ~/.bashrc

使用

nvm常用命令

nvm install 14.13.2
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 版本

nvm 安装的node位置

npm config list
期望输出

; node bin location = /root/.nvm/versions/node/v16.20.1/bin/node

Nodejs镜像源配置

vim ~/.bashrc

export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node/
export NVM_IOJS_ORG_MIRROR=https://npmmirror.com/mirrors/iojs

npm设置国内镜像源

淘宝源

npm config set registry https://npmmirror.com
npm config set disturl https://npmmirror.com/dist
或
npm config set registry https://registry.npmmirror.com
npm config set disturl https://registry.npmmirror.com/dist

腾讯源

腾讯内网
npm config set registry http://mirrors.tencentyun.com/npm/
yarn config set registry http://mirrors.tencentyun.com/npm/
腾讯公网
npm config set registry http://mirrors.tencent.com/npm
关闭SSL验证
npm config set strict-ssl false

通过环境变量设置镜像源

# 设置环境变量  
export NPM_CONFIG_DISTURL=https://registry.npmmirror.com/dist  
export NPM_CONFIG_REGISTRY=https://registry.npmmirror.com/

Nodejs版本自动切换

在项目根目录下创建一个.nvmrc文件,里面写入期望的nodejs版本

node -v > .nvmrc

Mac 在 .zshrc 加入一个钩子:

autoload -U add-zsh-hook
 load-nvmrc() {
   if [[ -f .nvmrc && -r .nvmrc ]]; then
     nvm use
   fi
 }
add-zsh-hook chpwd load-nvmrc

linux bash shell

# 在每次切换目录时检查是否存在 .nvmrc 文件并切换 Node.js 版本
cd() {
  builtin cd "$@" && load_nvmrc
}

load_nvmrc() {
  # 如果目录下存在.nvmrc,则使用.nvmrc指定的nodejs版本。如果没有,则使用默认的v18.18.2版本
  if [[ -f .nvmrc && -r .nvmrc ]]; then
    nvm use
  else
    nvm use v18.18.2
  fi
}

# 在每次进入命令提示符之前执行 load_nvmrc
PROMPT_COMMAND="load_nvmrc"

为每个nodejs安装yarn

在使用 nvm 管理的 Node.js 环境下,可以为每个 Node.js 版本安装独立的 yarn。以下是具体步骤

  1. 切换到目标 Node.js 版本

使用 nvm use 切换到需要的 Node.js 版本:

nvm use <node_version>

例如:

nvm use 16.20.0

如果没有安装目标版本,可以先安装:

nvm install <node_version>

  1. 安装 yarn

使用 npm 安装 yarn

npm install -g yarn
  • 这会在当前 Node.js 版本的环境中安装 yarn,并将其关联到该版本的 node_modules 目录。

  • 安装完成后,可以验证:

    yarn --version