Mac nvm永久固定Node版本(新开终端自动生效)
一、核心命令:永久设置默认版本(最常用)

bash
# 1.查看已装node版本
nvm ls
# 示例输出:v16.20.0、v18.19.1、v20.12.2
# 2.永久设置默认(二选一写法,版本号写主版本/完整版本都行)
nvm alias default 18 # 简写:锁定18.x最新小版本
nvm alias default v18.19.1 # 精确锁定某个固定版本号
执行成功会提示:default -> 18 (-> v18.19.1)
bash
# 3.当前终端立刻切换生效
nvm use default
nvm use xxx:仅当前终端临时生效,关闭终端失效;nvm alias default:全局永久默认
二、安装没有的Node版本
bash
# 安装指定版本
nvm install 18.19.1
# 安装最新LTS稳定版
nvm install --lts
# 安装最新正式版
nvm install node
三、验证是否永久生效
关闭当前终端,新开一个终端执行:
bash
node -v
输出版本=你设置的默认版本即成功。
四、设置后新开终端不生效?(高频问题修复)
Mac默认shell是zsh ,需要确认.zshrc加载nvm配置;老系统bash配置.bash_profile:
1.查看当前shell
bash
echo $SHELL
# /bin/zsh → zsh用户,配置 ~/.zshrc
# /bin/bash → bash用户,配置 ~/.bash_profile
2.补全nvm环境配置(失效必加)
zsh(mac新版)
bash
# 写入配置
echo 'export NVM_DIR="$HOME/.nvm"' >> ~/.zshrc
echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> ~/.zshrc
# 重载配置
source ~/.zshrc
bash(老mac)
bash
echo 'export NVM_DIR="$HOME/.nvm"' >> ~/.bash_profile
echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> ~/.bash_profile
source ~/.bash_profile
原因:没配置环境变量→终端启动不会自动加载nvm,默认回到系统node
五、项目单独固定版本(进阶:项目自动切版本)
项目根目录创建.nvmrc,实现进入文件夹自动切对应node:
bash
# 在项目目录写入需要的版本
echo "18.19.1" > .nvmrc
# 进入目录自动使用版本
nvm use
常用速查
bash
nvm ls-remote # 查询所有可安装远程node版本
nvm uninstall 16 # 卸载某个版本
nvm current # 查看当前在用node