nvm ~ node版本管理工具

一、安装 nvm

1. 卸载之前安装的 node

安装 nvm 前,要把之前安装的 node 卸载干净,详细卸载步骤,请移步这里

2. 安装 nvm

这里要注意,官方明确说明用 homebrew 安装是不支持的,那我们就不用 brew 安装,就安装官方介绍的安装。

 1. 检查主目录下有没有  .bash_profile 或 .zshrc 文件

bash 终端开发者检查有没有 ~/.bash_profile 文件,zsh 终端开发者检查有没有 ~/.zshrc 文件。

cd ~/
ls -a

查看有没有 .bash_profile 或 .zshrc 文件,没有则新建一个:

touch ~/.bash_profile
touch ~/.zshrc

2. 检查电脑上有没有安装 Git,没有则需要安装

3. 安装 nvm

  • 通过 curl 安装
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
  • 通过 wget 安装
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash

上面2个指令会自动 clone nvm 项目到 ~/.nvm,然后把下面这段代码添加到正确的文件里 (~/.bash_profile~/.zshrc~/.profile, or ~/.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

4. 手动安装来处理步骤3失败的情况

手动安装就是把步骤3的2个命令自动会执行的2个步骤手动执行一遍:

1. git clone nvm项目到 ~/.nvm

cd ~/
git clone https://github.com/nvm-sh/nvm.git .nvm
cd ~/.nvm
git checkout v0.38.0 #切换到最新版本
. ./nvm.sh

2. 在正确的文件里添加下面这段代码

bash 终端添加在 ~/.bash_profile 文件里,zsh 终端添加在 ~/.zshrc 文件里(如果没有 ~/.zshrc 文件则先新建一个)。

注意macOS Catalina 系统(即版本 10.15 及之后)默认的 shell 是 zsh,不在是 bash

不添加下面这段代码的后果是:重启 bash 后会出现命令找不到的情况。

export NVM_DIR="$HOME/.nvm"
[ -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

添加完成后,重启终端输入 nvm --version 验证是否安装成功。

好了,到这里为止,nvm 就安装完成了!

二、zsh 终端也可以用 zsh-nvm 插件快捷安装 nvm

按照官方的步骤安装就可以了,zsh-nvm地址

 ps: 安装完了才发现还有这么一种方法,没有亲手实践过。

三、nvm 命令

  • nvm --help 展示帮助信息
  • nvm ls 列出所有已经安装的版本
  • nvm ls-remote 列出所有可安装的版本
  • nvm current 显示当前的版本

  • nvm install stable 安装最新稳定版

  • nvm install <version> 安装指定的版本,如 nvm install 8.14.0
  • nvm use <version> 切换使用指定的版本
  • nvm uninstall <version> 卸载指定的版本
  • nvm alias default <version> 设置默认 node 版本
  • nvm alias <name> <version> 给不同的版本号添加别名

  • nvm unalias <name> 删除已定义的别名

  • nvm reinstall-packages <version> 在当前版本 node 环境下,重新全局安装指定版本号的 npm 包

  • nvm deactivate 解除当前版本绑定。

nvm 默认是不能删除被设定为 default 版本的 node,特别是只安装了一个 node 的时候,这个时候我们需要先解除当前版本绑定,然后再使用 nvm uninstall <version> 删除

  • nvm --version 查看nvm版本
  • nvm run 4.2 --version 运行特定版本的 Node
  • nvm exec 4.2 node --version 使用特定node版本作为执行上下文

  • nvm unload shell下卸载nvm

  • nvm reinstall-packages 在当前版本node环境下,重新全局安装指定版本号的npm包

  • nvm install 5.0.0 --reinstall-packages-from=4.2 从4.2版本的node导入npm包到5.0.0node版本

四、node 的安装目录

node 的各个版本是安装在 ~/.nvm/versions/node/ 文件夹下,每个版本都是相互独立的,不同版本之间安装的 node 插件也是独立的,比如你在 v14.17.6 版本安装了 cnpm,你想在 v8.17.0 版本用的话你得重新安装一遍 cnpm。 

可以用 which node 查看现在用的是哪个版本的 node,或者直接在终端输入 node --version。

五、在项目中使用不同版本的 Node

在项目根目录中创建 .nvmrc 文件来指定要使用的 Node 版本。之后在项目目录中执行 nvm use 即可。.nvmrc 文件内容只需要遵守上文提到的语义化版本规则即可。另外还有个工具叫做 avn,可以自动化这个过程。

六、注意事项

  1. 安装全局 npm 包时前面不要加 sudo,例如 npm install -g grunt

猜你喜欢

转载自blog.csdn.net/huangpb123/article/details/120253061