MacBook 安装 nvm 管理 Node.js 多版本教程

一、概述

nvm(Node Version Manager)是MacOS下管理Node.js多版本的主流工具,可一键安装、切换、卸载不同Node版本,自动配置环境变量,无需手动修改系统配置。

二、前置条件

  • MacBook 已安装 Git(新Mac默认自带,若未安装可通过 xcode-select --install 安装Xcode Command Line Tools)。
  • 知晓当前使用的Shell类型(MacOS默认是zsh,可通过 echo $SHELL 查看)。

三、安装 nvm

1. 执行安装命令

打开终端(Terminal),执行以下命令安装最新版nvm:

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

若curl访问失败,改用wget:

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

2. 检查自动配置(关键步骤)

nvm安装时会自动将环境变量配置写入Shell配置文件(zsh对应~/.zshrc,bash对应~/.bash_profile/~/.bashrc),无需手动添加:

  1. 打开配置文件检查:

    bash 复制代码
    # zsh用户
    open ~/.zshrc
    # bash用户
    open ~/.bash_profile
  2. 确认文件中包含以下内容(有则无需重复添加):

    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

3. 使配置生效

执行以下命令让配置立即生效:

bash 复制代码
# zsh用户
source ~/.zshrc
# bash用户
source ~/.bash_profile

4. 验证nvm安装成功

执行命令查看nvm版本,输出版本号即安装成功:

bash 复制代码
nvm --version
# 示例输出:v0.39.7

四、使用 nvm 管理 Node.js 版本

1. 安装Node版本

操作 命令示例
安装最新版 nvm install node
安装指定版本 nvm install 18.18.0
安装LTS(长期支持)版 nvm install --lts

2. 查看已安装版本

bash 复制代码
nvm ls
# 输出示例:
#       v16.20.2
# ->    v18.18.0
#        v20.9.0
# default -> 18.18.0
# node -> stable (-> v20.9.0)
# lts/* -> lts/iron (-> v20.9.0)

3. 切换Node版本

操作 命令示例
切换到指定版本 nvm use 18.18.0
切换到LTS版 nvm use --lts
切换到最新版 nvm use node

4. 设置默认版本(推荐)

避免每次打开终端重新切换版本,设置默认版本:

bash 复制代码
nvm alias default 18.18.0

5. 卸载指定版本

bash 复制代码
nvm uninstall 18.18.0

五、验证Node环境

切换版本后,执行以下命令确认版本生效:

bash 复制代码
node -v  # 输出当前Node版本,如v18.18.0
npm -v   # 输出对应npm版本,如9.8.1

若版本未更新,重启终端即可(环境变量重新加载)。

六、常见问题解决

  1. 执行nvm --version提示command not found: nvm:
    • 重启终端重试;
    • 重新执行nvm安装脚本;
    • 检查Shell配置文件是否有nvm配置,无则手动添加。
  2. 切换版本后node -v无变化:
    • 确认执行了nvm use <版本号>;
    • 重启终端或执行source ~/.zshrc(zsh用户)。
相关推荐
逍遥59660701013 分钟前
网络设备交换机路由器 AI 配置助手
node.js·硬件工程
Patrick在香港43 分钟前
同一份脚本,mac 正常 Windows 乱码:open() 默认编码实测(附 3.15 终局)
utf-8·windows·python·macos·跨平台·编码·标准库
damoluomu2 小时前
Directus 换掉 GPL 之后,Node.js CMS 到底怎么选?(三)
node.js
DevLoom_3 小时前
Mac装NTFS for Mac,不用修改 SIP 安全设置也能正常读写NTFS硬盘
macos·macos 27·mac读写ntfs·ntfs for mac·mac应用
Laurie三省3 小时前
现场版却配上录音室版的歌词?聊聊我给开源 Mac 歌词软件写的多源打分算法
算法·macos·go
DevUp3 小时前
Directus 换掉 GPL 之后,Node.js CMS 到底怎么选?(三)
开源·node.js·cms
David@3 小时前
Mac中cursor怎么检查更新
macos
明月_清风16 小时前
Deno 终局来了:从挑战 Node 到被 Cloudflare 收编
前端·后端·node.js
guslegend20 小时前
脚手架原理与本地调试:从 bin 软链接到 npm link
前端·npm·node.js·脚手架·前端工程化
zReadonly21 小时前
不用反复 nvm use 了:nvm-windows 2.x 按项目自动切换 Node.js
前端·node.js