为何安装所有R包均报错‘package ‘XXXX’ is not available (for R version 3.5.0)’
为什么安装R包时会出现“package ‘XXXX’ is not available (for R version 3.5.0)”错误?
我来帮你拆解下你遇到的问题,主要有两个核心原因:
1. R版本过于老旧
你当前使用的是R 3.5.0,这是2018年发布的版本,距今已经有好几年了。CRAN上的大部分包都会随着R版本迭代更新,不再对老旧的R版本提供支持——installr和ghit这两个包现在的最新版本都要求更高版本的R(至少R 3.6.0及以上),所以官方仓库里没有适配R 3.5.0的二进制包,自然会提示“not available”。
2. CRAN镜像仓库无法访问
从报错信息里能看到,你的R默认使用的镜像已经无法打开,这意味着R连包的索引列表都获取不到,就算有适配旧版本的包,也没法找到它的下载路径。
对应的解决方案:
优先推荐:升级R到最新稳定版本
这是一劳永逸的办法,新版本R不仅支持绝大多数最新的包,还能修复很多旧版本的bug,同时也能正常访问当前活跃的CRAN镜像。升级后直接运行install.packages('installr')或者install.packages("ghit")就能正常安装了。如果无法升级R(比如依赖旧项目)
- 安装对应旧版本的包:去CRAN的归档库找到适配R 3.5.0的
installr和ghit旧版本,下载对应的源码.tar.gz文件,然后运行本地安装命令:
注意:源码安装需要你本地有R的编译工具(比如Windows上的Rtools)。install.packages("你下载的包文件的本地路径", repos=NULL, type="source") - 更换可用的CRAN镜像:运行
chooseCRANmirror(),在弹出的列表里选一个能正常访问的镜像,再尝试安装包。
- 安装对应旧版本的包:去CRAN的归档库找到适配R 3.5.0的
内容的提问来源于stack exchange,提问作者user9375916




