Ubuntu环境下如何将Node.js 12.22.9升级至Node 20.5.1及对应npm版本
升级Node.js到20.5.1(含npm 9.8.0)的解决方案
方案1:修复Homebrew安装问题
如果Homebrew安装后仍停留在旧版本,按以下步骤操作:
- 更新Homebrew包索引:
brew update - 检查Node.js是否被版本锁定:
若输出包含brew info nodepinned,执行解锁命令:brew unpin node - 升级到指定版本:
安装Node.js 20.x分支(默认包含对应npm版本):
如需精确安装20.5.1:brew install node@20brew install node@20.5.1 - 配置路径优先级(若版本未切换):
# 针对zsh用户 echo 'export PATH="/usr/local/opt/node@20/bin:$PATH"' >> ~/.zshrc source ~/.zshrc # 针对bash用户 echo 'export PATH="/usr/local/opt/node@20/bin:$PATH"' >> ~/.bash_profile source ~/.bash_profile - 验证结果:
node -v # 预期输出:v20.5.1 npm -v # 预期输出:9.8.0
方案2:使用nvm管理版本(推荐)
nvm可灵活切换Node版本,彻底解决兼容问题:
- 安装nvm:
brew install nvm - 配置nvm环境变量:
# zsh用户 echo 'export NVM_DIR="$HOME/.nvm"' >> ~/.zshrc echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> ~/.zshrc echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"' >> ~/.zshrc source ~/.zshrc # bash用户 echo 'export NVM_DIR="$HOME/.nvm"' >> ~/.bash_profile echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> ~/.bash_profile echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"' >> ~/.bash_profile source ~/.bash_profile - 安装指定版本:
nvm install 20.5.1 - 设置为默认版本:
nvm alias default 20.5.1 - 验证版本:
node -v npm -v
常见问题排查
- 若
node -v仍显示旧版本,检查当前Node路径:
若路径非Homebrew/nvm路径,删除旧版本或调整PATH优先级。which node - 若npm版本未同步,手动升级:
npm install -g npm@9.8.0
内容的提问来源于stack exchange,提问作者Taimoor Ali
相关产品推荐
相关产品推荐

