You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Win11 WSL2 Ubuntu中Node.js 18默认设置重启终端失效的问题求助

解决WSL2 Ubuntu中nvm默认Node.js版本不生效的问题

步骤1:排查系统级Node.js干扰

先确认是不是系统通过apt安装的Node.js(16版本)优先级比nvm的更高:

  • 执行命令查看Node的路径:which node
    • 如果输出是/usr/bin/node,说明存在系统级Node,会覆盖nvm的设置
  • 卸载系统级Node:
    sudo apt remove --purge nodejs npm
    sudo apt autoremove
    sudo apt clean
    
  • 重启终端后执行node -v,再重新设置默认版本:nvm alias default 18

步骤2:确认nvm初始化脚本加载正常

nvm需要在shell启动时自动加载初始化脚本,检查对应shell的配置文件:

  • 如果你用bash,打开配置文件:nano ~/.bashrc;用zsh的话打开nano ~/.zshrc
  • 确认文件末尾有以下初始化代码:
    export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # 加载nvm
    [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # 加载nvm自动补全
    
  • 如果没有就手动添加,保存后执行source ~/.bashrc(zsh用source ~/.zshrc),再执行nvm alias default 18

步骤3:检查是否有脚本覆盖版本设置

查看.bash_profile、.profile这类shell启动配置文件,有没有手动写nvm use 16或者设置NODE_VERSION的命令,有的话改成18或者直接删除。

步骤4:重新确认nvm别名设置

执行以下命令确保别名配置正确:

nvm alias default 18
nvm alias  # 查看所有别名,确认default指向18

然后完全关闭所有终端(包括VS Code的集成终端),重新打开后再用node -v验证。

步骤5:VS Code集成终端额外检查

如果VS Code里的终端还是异常:

  • 打开VS Code设置,搜索terminal.integrated.profiles.linux,确认Ubuntu的shell路径是/bin/bash或/bin/zsh(对应你用的shell)
  • 彻底关闭VS Code后重启,再打开集成终端测试

内容的提问来源于stack exchange,提问作者CB_at_Sw

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 18:25:02