Ubuntu 更新 Node.js 的关键注意事项
一 版本选择与兼容性
二 升级路径与系统影响
sudo apt-get upgrade nodejs 往往无法获得最新版本,应使用 NodeSource 仓库或 nvm 进行升级。sudo apt-get remove --purge nodejs npm 与 sudo apt-get autoremove,再添加 NodeSource 安装脚本并安装,可减少残留冲突。sudo npm install -g n 后用 n stable 升级时,若系统仍指向旧版 Node,可能导致 npm 与新 Node 不兼容(如 npm v10 无法在 Node.js v8 上运行);此时应先清理旧版或使用独立版本管理器。node,升级后需检查并修正 ExecStart 中的路径,或改用 nvm 的 shim 方式统一入口。三 回滚与风险控制
npm list -g --depth=0 > ~/node-global-packages-$(node -v).txt,便于恢复;升级后在项目目录执行 rm -rf node_modules package-lock.json && npm install 重建依赖。nvm use <version>;设置默认版本 nvm alias default <version> 保证新终端一致;必要时 nvm uninstall <bad-version> 清理问题版本。nvm install <new> --reinstall-packages-from=<old> 自动重装全局包,降低遗漏与版本错配风险。四 多项目与团队协作
v18.19.0 或 lts/*),并在 shell 配置中实现进入目录自动切换版本,确保开发与部署一致性。nvm-sh/setup-nvm@v1 并读取 .nvmrc,若工作流实际 Node 与 .nvmrc 不一致则失败提醒,避免“在我机子上能跑”。五 验证与常见问题处理
node -v、npm -v 确认版本;运行项目构建与单元测试,留意依赖与 native 模块的编译日志。nvm use 报 “version not installed”:先 nvm install <version> 再切换。node 命令找不到:执行 source ~/.nvm/nvm.sh 重载 nvm,或检查 ~/.bashrc/~/.zshrc 中 nvm 初始化是否生效。