侧边栏壁纸
博主头像
太上问情 博主等级

人非太上,岂能忘情。

  • 累计撰写 17 篇文章
  • 累计创建 9 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Mac OS 管理多个 Node 版本

太上问情
2025-04-03 / 0 评论 / 0 点赞 / 9 阅读 / 0 字 / 正在检测是否收录...

介绍

如果你有多个 Node.js 项目,可能会遇到这种情况。你已经安装了最新版本的 Node.js,但是另一个项目却依赖一个较旧的版本。在这种情况下, nvm 会帮你到,它允许安装多个版本的 Node.js,并且可以根据需要随时在它们之间切换。

本文将介绍安装 nvm 然后学习如何安装,删除以及如何在不同的 Node.js 版本之间进行切换。

事先准备

要完成本篇教程,你需要确保在电脑上已安装 Node.js 的最新版。

第 1 步 - 开始

首先你需要把 Node Version Manager 简称 nvm 安装到系统。可以运行如下命令手动安装:

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

如果你用的是 wget ,可以运行这个命令:

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

然后你会看到输出如下:

运行上述其中一个命令会下载一个脚本并运行。这个脚本把 nvm 仓库克隆到 /.nvm,然后尝试把此命令的路径追加到对应的描述文件里(/.bash_profile,/.zshrc,/.profile, 或 /.bashrc)。如果你在描述文件里没有看到,可以手动运行如下命令执行这一过程:

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 安装后,重启终端运行如下命令检查 nvm 的版本:

nvm — version

下一步是安装 Node.js 的多个版本了。

第 2 步 - 安装 Node.js 的多个版本

要下载,编译并安装最新的 node 版本,可以这样做:

nvm install node # "node" is an alias for the latest version

要安装 node 的某个版本

nvm install 6.14.4 # or 10.10.0, 8.9.1, etc

要安装某个版本的长期维护版本

如果你想要安装一个发行版的长期维护版本,只需要指定它的版本即可:

然后会看到输出如下:

安装 Node 12 LTS

更改 node 的默认版本

要把最新的稳定版设置为默认版本,运行:

你也可以把某个指定版本设置为默认版本。运行:

第 3 步 - 列出已安装的 Node.js 版本

在安装了几个不同的 Node.js 版本之后,我们可以运行 nvm 配合 ls 参数来列出所有已安装的版本:

运行命令后会看到如下输出:

nvm ls

你输出的内容可能与上图不同,取决于你在本地安装的 Node.js 版本的多少。

小箭头 -> 表示当前正在使用的版本,default -> 表示 Node.js 默认的版本。Node 的默认版本就是当你打开一个命令行窗口时所用的版本。system 对应的是系统中在 nvm 外安装的那个 Node.js 版本。

第 4 步 - 在不同的 Node.js 版本之间切换

要切换到 Node.js 的另一个版本,运行 nvm 命令配合 use 参数后面跟上你想使用的版本号:

你会看到输出如下:

nvm use 8

你也可以切换回默认的版本:

至此你已经安装了 Node.js 的几个不同版本。可以使用 nvm 来删除不在需要的 Node.js 版本。

第 6 步 - 删除 Node.js 版本

你已经安装几个不同版本的 Node.js ,也可以删除那些版本,和安装时一样容易:

不过,当你指定了一个大版本号或者小版本号时,nvm 只卸载匹配版本号的最新安装的那个版本。

所以,如果你安装了两个不同版本的 Node.js 6 版本,你需要为每个版本都要运行 uninstall 命令:

$ nvm uninstall 6
Uninstalled node v6.14.4
$ nvm uninstall 6
Uninstalled node v6.10.3

值得一提的是你不能删除当前正在使用的 Node.js 版本。

也许你想回到系统默认设置,不再使用 nvm。下一步会介绍如何做。

第 7 步 - 卸载 nvm

如果你想从电脑上彻底删除 nvm,可以使用 unload 命令:

问题

关闭终端后 commond not found:nvm

我遇到的问题是: 当前安装 nvm 成功了,但是每次关闭终端后,都需要重新执行 source .bash_profile 才能重新使用 nvm 命令,否则提示 commond not found:nvm

解决方法: 配置 .bash_profile 和 .zshrc

(1)配置 .bash_profile 文件

  • 打开.bash_profile文件

    open ~/.bash_profile
    
  • 添加配置

    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
    
  • 保存配置后在终端执行

    source ~/.bash_profile
    

(2)配置 .zshrc 文件

  • 打开.zshrc文件

    open ~/.zshrc
    
  • 添加配置

    export NVM_DIR=~/.nvm
    [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
    
  • 保存配置后在终端执行

结语

在多个使用不同 Node.js 版本的项目上工作并没有那么头疼,有了 nvm 可以做到无缝切换。如果你懒得去切换版本,可以在项目根目录中创建一个 .nvmrc 文件:

希望本文涵盖了在 MacOS 上管理多个 Node 版本所需的一切知识点,能在工作上能有所帮助。

0

评论区