Ubuntu 22.04重启后nvm/node/npm失效,需手动source .profile恢复
解决Ubuntu 22.04重启后nvm/node/npm命令失效的问题
以下是针对该情况的排查和解决步骤:
检查默认Shell类型
运行echo $SHELL查看当前默认Shell:- 如果输出是
/usr/bin/zsh:Zsh默认不会自动加载.profile,需要把nvm的初始化代码复制到~/.zshrc文件末尾,保存后重启终端即可。 - 如果输出是
/usr/bin/bash:继续下一步排查。
- 如果输出是
确认终端是否为登录Shell
Ubuntu 22.04的GNOME终端默认以非登录Shell启动,这类Shell只会加载~/.bashrc,不会加载~/.profile。解决方式二选一:- 把
.profile里的nvm初始化代码复制到~/.bashrc文件末尾,保存后执行source ~/.bashrc测试; - 修改终端设置:打开终端 → 右上角菜单 →
首选项→ 对应配置文件的命令选项卡 → 勾选以登录Shell运行,重启终端生效。
- 把
验证nvm初始化代码的正确性
打开~/.profile,确保以下代码存在且无语法错误(不要注释,引号和反斜杠要完整):export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"检查.nvm目录权限
运行ls -ld ~/.nvm查看权限,确保当前用户拥有读写权限。如果权限异常,执行chmod -R 755 ~/.nvm修复。重新初始化nvm配置(可选)
如果以上步骤都无效,可重新运行nvm安装脚本让它自动配置:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash执行完成后重启终端测试。
内容的提问来源于stack exchange,提问作者Cromega08
相关产品推荐
相关产品推荐

