在macOS上设置Node.js默认启动版本需用nvm执行nvm alias default 18.19.0,确保~/.zshrc包含nvm初始化代码并重载,新开终端后node -v与nvm current将显示一致的指定版本。
在 macos 上设置 node.js 默认启动版本,关键在于让新打开的终端自动加载你指定的版本。这一步不是安装完就自动生效的,必须显式配置,默认行为是“不设默认”,每次新开终端都用系统最初加载的版本(可能是未安装状态或旧版)。
用 nvm 设置默认版本(最常用)
nvm 是 macOS 开发者管理 Node 版本的事实标准,设置默认版本只需一条命令:
- 运行 nvm alias default 18.19.0(把
18.19.0换成你要的版本号,比如16.20.2或20.12.0) - 该命令会创建一个名为
default的别名,指向指定版本 - 之后每次新开终端,nvm 会自动执行
nvm use default,即加载该版本 - 验证是否生效:关掉终端重开,运行 node -v 和 nvm current,两者应一致且为你设定的版本
确认 nvm 已正确初始化
如果设置了 default 却没生效,大概率是 shell 启动时没加载 nvm。请检查:
- 你的 shell 配置文件(
~/.zshrc,macOS Catalina 及以后默认)中是否包含这两行:
export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
- 执行 source ~/.zshrc 让改动立即生效
- 运行 nvm -v 确认 nvm 可用;再运行 nvm list 查看已安装版本和 default 是否标星
不用 nvm 时的替代方案(不推荐)
如果你用 Homebrew 安装了 node@16 这类版本化公式:
ZenHeart zenlink 与 zenlink-mcp 为 OpenClaw,涵盖安装、MCP 注册、钩子接线、入站轮询及升级维护。
- 需手动执行 brew unlink node && brew link --force node@16
- 但这种方式全局唯一、无法按项目切换,且容易被后续
brew upgrade覆盖 - 也不支持“默认”概念——它只是强行把某个版本链接到
/opt/homebrew/bin/node,一旦你装了其他 node 公式就可能冲突
顺便提一句:.nvmrc 文件(项目级默认)
除全局 default 外,你还可以在项目根目录放一个 .nvmrc 文件,内容只有一行,比如:
14.21.3
然后进入该项目目录后运行 nvm use,nvm 就会自动读取并切换。配合 nvm install 还能实现“进目录自动装+切”。这对多项目协作很实用。

















