Yum无法识别RPM仓库文件更新?Amazon Linux下Node.js版本切换问题
在Amazon Linux中强制Yum识别更新后的NodeSource仓库
问题背景
原本通过NodeSource RPM指南安装Node.js v16:
$ curl -fsSL https://rpm.nodesource.com/setup_16.x | sudo bash
执行后yum list --showduplicates nodejs可正常显示v16全版本。后续执行以下命令切换到v20仓库:
curl -fsSL https://rpm.nodesource.com/setup_20.x | sudo bash -
但yum install nodejs仍安装v16版本,yum list --showduplicates nodejs也仅显示v16版本,多次切换仓库后,yum几乎不再更新包列表,yum clean all无效,yum clean metadata仅偶尔生效。
解决步骤
- 彻底清理Yum缓存及缓存目录:
sudo yum clean all sudo rm -rf /var/cache/yum - 强制重新生成仓库元数据缓存:
sudo yum makecache - 验证仓库配置是否正确:
查看nodesource仓库文件,确认baseurl指向v20版本的源:
确保内容中cat /etc/yum.repos.d/nodesource-el7.repobaseurl字段为https://rpm.nodesource.com/pub_20.x/el/7/$basearch/(对应Amazon Linux 2的el7架构)。 - 若仍有问题,先卸载旧版本再重新安装:
sudo yum remove -y nodejs sudo yum install -y nodejs - 可选:强制指定nodesource仓库安装,避免其他仓库干扰:
sudo yum install -y --enablerepo=nodesource nodejs - 验证安装结果:
node -v
内容的提问来源于stack exchange,提问作者Christian
相关产品推荐
相关产品推荐

