需卸载现有node、安装nvm、安装并切换版本、配置项目级自动切换及国内镜像。先清理手动安装残留,再用curl安装nvm并配置shell,接着用nvm install安装多版本,通过nvm use切换,.nvmrc实现项目自动适配,最后配置nvm_nodejs_org_mirror加速下载。

如果您在Mac上需要在同一台机器中灵活切换多个Node.js版本,但当前系统仅安装了单一版本或存在版本冲突,则可能是由于缺少版本管理工具或环境变量未正确配置。以下是解决此问题的步骤:
一、卸载已存在的Node.js安装
为避免nvm与手动安装的Node产生路径冲突,必须先清除系统中已有的Node和npm残留文件。nvm仅能管理其自身安装的Node版本,手动安装的二进制文件不受其控制。
1、检查当前Node和npm路径:which node 和 which npm
2、若输出路径包含 /usr/local/bin/node 或 /opt/homebrew/bin/node,需执行卸载:
3、针对Homebrew安装的Node:brew uninstall node
4、针对官网pkg安装的Node:sudo rm -rf /usr/local/{bin/{node,npm},lib/node*,share/man/*/node.*}
5、清理npm全局目录:rm -rf ~/.npm 和 sudo rm -rf /usr/local/lib/node_modules
二、安装nvm
nvm通过shell脚本注入环境变量,在每次启动终端时加载。推荐使用curl方式安装,兼容zsh(macOS Catalina及以后默认)和bash。
1、执行官方安装脚本:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
2、确认安装脚本是否写入shell配置文件:ls -a ~ | grep -E "(\.zshrc|\.bash_profile)"
3、若使用zsh(默认),向~/.zshrc追加以下内容:export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
4、重新加载配置:source ~/.zshrc
5、验证安装:command -v nvm 应返回 nvm
三、安装并切换Node版本
nvm从远程服务器下载预编译二进制包,支持指定版本、LTS别名或latest关键字。所有版本独立存放于~/.nvm/versions/node/下,互不干扰。
1、列出可安装的远程版本:nvm ls-remote
2、安装长期支持版:nvm install --lts
3、安装最新稳定版:nvm install node
4、安装指定版本(如v18.19.0):nvm install v18.19.0
5、查看本地已安装版本:nvm ls
6、切换至某版本:nvm use v18.19.0
7、设置默认版本(新终端自动启用):nvm alias default v18.19.0
四、项目级版本控制
当不同项目依赖不同Node版本时,可通过.nvmrc文件实现目录感知式自动切换,无需每次手动执行nvm use。
1、在项目根目录创建.nvmrc文件:echo "v16.20.2" > .nvmrc
2、进入该目录后手动触发切换:nvm use
3、启用自动切换(需配合shell hook):在~/.zshrc末尾添加:cd() { builtin cd "$@"; nvm use 2>/dev/null || true; }
4、重载配置:source ~/.zshrc
五、配置国内镜像加速
因原始Node二进制源位于境外,下载常超时或失败。通过修改nvm配置可强制使用国内镜像站,显著提升安装速度。
1、创建nvm配置文件:mkdir -p ~/.nvm && touch ~/.nvm/nvm.sh
2、编辑~/.zshrc,在nvm加载语句前插入:export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node
3、保存后重载:source ~/.zshrc
4、验证镜像生效:nvm install v20.12.0 的下载URL应包含 npmmirror.com











