CentOS 7安装R失败:yum下载texlive包出现匹配错误
解决CentOS 7安装R时texlive包下载失败的问题
这种yum镜像源缓存不一致或者特定镜像节点文件损坏的情况我碰到过好几次,给你几个递进的解决方案:
1. 彻底清理yum缓存与元数据
系统提示的yum --enablerepo=base clean metadata只是清理了base源的元数据,有时候不够彻底,试试全量清理:
- 执行全量清理命令:
sudo yum clean all sudo rm -rf /var/cache/yum - 重新生成镜像元数据:
sudo yum makecache
之后再尝试安装R:sudo yum install R
2. 切换到更稳定的镜像源
你遇到的问题大概率是当前使用的镜像节点文件损坏或者同步不及时,建议切换到国内靠谱的镜像源(比如阿里云、网易镜像):
- 先备份原有的base repo配置:
sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak - 编辑repo文件,替换为国内镜像地址:
将文件中sudo vi /etc/yum.repos.d/CentOS-Base.repomirrorlist开头的行注释掉(在前面加#),然后将baseurl替换为国内镜像地址,比如阿里云的:
同样把baseurl=http://mirrors.aliyun.com/centos/7/os/x86_64/[updates]和[extras]段的baseurl也做相同替换。 - 保存退出后重新生成元数据,再尝试安装R。
3. 手动安装问题包后再装R
如果上面的方法还是不行,可以手动下载有问题的texlive包安装:
- 找到对应CentOS 7版本的
texlive-ae-svn15878.1.4-38.el7.noarch.rpm和texlive-luaotfload-bin-svn1857相关rpm包(从可靠的镜像站点获取) - 用rpm命令安装:
sudo rpm -ivh texlive-ae-svn15878.1.4-38.el7.noarch.rpm texlive-luaotfload-bin-xxx.rpm - 安装完成后再执行
sudo yum install R
4. 确保启用EPEL源(可选)
CentOS 7的默认源里R版本可能较旧,安装EPEL源可以获取更新的R包,同时也可能解决依赖包的下载问题:
sudo yum install epel-release sudo yum install R
内容的提问来源于stack exchange,提问作者Nikhil Singhal




