12k
All articles

如何在 macOS 上使用 NVM 切换 Node.js 版本(分步指南)

介绍如何在 macOS 上安装 NVM、在多个项目间切换 Node.js 版本,并解决与 Homebrew 或 shell 配置文件冲突的常见问题。

OpenReplay Team
OpenReplay Team
如何在 macOS 上使用 NVM 切换 Node.js 版本(分步指南)

在不同 Node.js 版本之间切换可能很棘手。如果你是一名开发者,同时处理多个项目,你很可能需要不同的 Node 版本。Node 版本管理器(NVM)简化了这一过程。本指南将清晰地解释如何安装 NVM、管理多个 Node 版本,以及在 macOS 上解决常见问题。

要点

  • NVM 简化了在不同 Node.js 版本之间的切换,避免冲突。
  • 确保在终端配置文件中正确加载 NVM。
  • 解决与 Homebrew 或全局 npm 配置的常见冲突。

什么是 NVM,为什么要使用它?

NVM 是一个管理多个 Node.js 安装的 shell 脚本。它允许开发者快速切换 Node 版本,而不会影响其他系统组件。当项目需要不同的 Node 环境时,这种灵活性非常有用。

在 macOS 上安装 NVM

按照以下简单步骤在 Mac 上安装 NVM:

  1. 下载并安装 NVM:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
  1. 更新 Shell 配置文件: 确认以下行已添加到你的 ~/.zshrc~/.bash_profile 中:
export NVM_DIR=""$HOME/.nvm""
[ -s ""$NVM_DIR/nvm.sh"" ] && . ""$NVM_DIR/nvm.sh""
[ -s ""$NVM_DIR/bash_completion"" ] && . ""$NVM_DIR/bash_completion""

重新加载你的 shell:

source ~/.zshrc
  1. 检查安装:
nvm --version

安装最新的 Node.js 版本

安装 NVM 后,你可以轻松管理 Node 版本。

  • 最新 LTS 版本:
nvm install --lts
  • 最新当前版本:
nvm install node
  • 特定 Node 版本:
nvm install 18.17.1
  • 列出已安装版本:
nvm list

在 Node.js 版本之间切换

使用 nvm use 切换版本:

nvm use 18

确认当前激活的 Node 版本:

node -v

为新终端设置默认 Node 版本:

nvm alias default 18

解决常见 NVM 问题

NVM 命令未找到

  • 通过检查你的配置文件(~/.zshrc~/.bash_profile)确认 NVM 已正确加载。
  • 使用 source ~/.zshrc 重新加载你的配置文件。

Node 版本无法切换(Homebrew 冲突)

检查与 Homebrew 安装的冲突:

which -a node

移除冲突的 Node 安装:

brew uninstall --ignore-dependencies node

NVM 警告(npm prefix 问题)

移除 npm 全局前缀设置:

npm config delete prefix

结论

使用 NVM 简化了在 macOS 上管理多个 Node.js 版本的过程,让你能够轻松切换版本并避免版本冲突。正确的设置和解决常见问题可确保顺畅使用。

常见问题

为什么会出现'nvm command not found'?

这通常意味着 NVM 没有在你的 shell 配置文件中正确加载。检查 ~/.zshrc 或 ~/.bash_profile 中的 NVM 设置行,并重新加载 shell。

如何使用 NVM 卸载 Node.js 版本?

运行 'nvm uninstall <版本>',将 <版本> 替换为你想要移除的 Node 版本。

NVM 能否同时管理 npm 版本?

是的,NVM 会自动安装与你选择的 Node.js 版本兼容的 npm 版本。

Listen to your bugs 🧘, with OpenReplay

See how users use your app and resolve issues fast.
Loved by thousands of developers

We use cookies to improve your experience. By using our site, you accept cookies.