NVM 使用指南(Node Version Manager)

🧾 NVM 使用指南(Node Version Manager)

NVM 是 Node.js 版本管理工具,可帮助你在一台机器上快速切换多个 Node.js 版本。尤其适用于前端 / 全栈 / Node.js 开发者。


🔧 一、NVM 安装

💻 macOS / Linux 安装

执行以下命令安装最新版 NVM:

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

或使用 wget:

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

安装成功后,请执行:

bash 复制代码
export NVM_DIR="$HOME/.nvm"
source "$NVM_DIR/nvm.sh"

建议添加到 .bashrc / .zshrc / .profile 中:

bash 复制代码
echo 'export NVM_DIR="$HOME/.nvm"' >> ~/.bashrc
echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> ~/.bashrc

然后执行:

bash 复制代码
source ~/.bashrc

🪟 Windows 安装

Windows 用户请下载 nvm-windows(非官方)

  1. 下载 .exe 安装程序并执行
  2. 安装路径建议为:C:\nvm
  3. 安装完毕后打开命令提示符或 PowerShell,输入 nvm 验证

📦 二、NVM 常用命令

📥 安装 Node.js 版本

bash 复制代码
nvm install 18.18.2     # 安装特定版本
nvm install --lts       # 安装最新 LTS 版本
nvm install node         # 安装最新版本(非 LTS)

📌 设置默认版本

bash 复制代码
nvm use 18.18.2              # 临时使用
nvm alias default 18.18.2    # 设置为默认版本

🔄 查看已安装和可用版本

bash 复制代码
nvm ls            # 查看已安装版本
nvm ls-remote     # 查看远程可用版本

🗑 卸载某个版本

bash 复制代码
nvm uninstall 18.18.2

📁 三、不同项目使用不同版本

方法一:使用 .nvmrc 文件(推荐)

在项目根目录创建 .nvmrc

bash 复制代码
echo "18.18.2" > .nvmrc

然后执行:

bash 复制代码
nvm use           # 自动读取 .nvmrc 中的版本并切换

📌 配合 .nvmrc 可在团队项目中自动统一 Node 版本。


🚀 四、常见问题解答(FAQ)

❓ Q1:nvm 命令无效?

可能是终端未加载 nvm,请确认以下配置在 .bashrc.zshrc 中:

bash 复制代码
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

然后执行:

bash 复制代码
source ~/.bashrc  # 或 source ~/.zshrc

❓ Q2:npm 版本不对怎么办?

bash 复制代码
npm install -g npm@latest

每次切换 node 版本后,npm 会随着 node 一起变动,但你可以单独升级。


❓ Q3:如何让 IDE 使用正确版本?

确保你在项目启动前执行了 nvm use。某些 IDE(如 VS Code)可自动识别 .nvmrc


✅ 总结

功能 命令
安装 Node nvm install <version>
使用版本 nvm use <version>
设置默认版本 nvm alias default <version>
查看版本列表 nvm ls / nvm ls-remote
卸载版本 nvm uninstall <version>
使用 .nvmrc 项目内创建 .nvmrc 并运行 nvm use

如需搭配使用 yarnnpx 等工具,NVM 完全兼容。

建议你在所有 Node.js 项目中使用 .nvmrc 文件,避免版本混乱!

如果你需要此文档导出为 Markdown / PDF / Word 文件,也可以告诉我。

相关推荐
加载中36112 小时前
pnpm时代包版本不一致问题还是否存在
前端·面试·npm
徐_三岁1 天前
关于npm的钩子函数
前端·npm·node.js
不买Huracan不改名2 天前
安装Codex(需要用npm)
前端·npm·node.js
醉方休2 天前
npm/pnpm软链接的优点和使用场景
前端·npm·node.js
醉方休2 天前
PNPM库离线安装方案
npm
FreeBuf_2 天前
加密货币武器化:恶意npm包利用以太坊智能合约实现隐蔽通信
前端·npm·智能合约
不知名raver(学python版)3 天前
npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR!
前端·npm·node.js
惜.己3 天前
针对nvm不能导致npm和node生效的解决办法
前端·npm·node.js
fruge4 天前
钉钉机器人消息发送 npm 库:ddmessage-fruge365
机器人·npm·钉钉