R中install.packages获取错误二进制包,如何安装指定版本zoo?
解决R安装指定repo中旧版本zoo包的问题
嘿,这个问题其实很好解决——R默认会去拉取包的最新稳定版本(这里是1.8-1),但你用的那个corp server repo里只放了1.8-0版本,所以才会触发404找不到的错误。下面给你几个靠谱的解决办法:
方法1:直接指定包的完整URL安装
这是最快的方式,直接指向repo里存在的那个zoo_1.8-0.zip文件就行:
install.packages( "http://corpserver.ru/r/bin/windows/contrib/3.4/zoo_1.8-0.zip", repos = NULL, type = "binary" )
repos = NULL:告诉R别去默认仓库找,直接用你给的URLtype = "binary":明确这是Windows的二进制包,和你的环境匹配
方法2:先确认repo里的可用版本再操作
如果你想先搞清楚这个repo里到底有哪些版本的zoo,可以先跑这段代码:
options(repos = "http://corpserver.ru/r/") # 获取仓库里所有可用包的信息 available_pkgs <- available.packages() # 查看zoo的可用版本 available_pkgs["zoo", "Version"]
拿到版本号后,还是推荐用方法1直接安装,或者你可以把包下载到本地再装:
方法3:本地安装(手动下载后再装)
- 打开浏览器访问
http://corpserver.ru/r/bin/windows/contrib/3.4/,手动下载zoo_1.8-0.zip到电脑里(比如存到C:/Downloads/) - 回到R里运行这段代码:
install.packages( "C:/Downloads/zoo_1.8-0.zip", repos = NULL, type = "binary" )
如果你之后经常要从这个repo装包,还可以把repo设置加到你的.Rprofile里,这样每次启动R都会自动加载这个配置:
# 把repo设置写入用户目录下的.Rprofile cat('options(repos = "http://corpserver.ru/r/")', file = "~/.Rprofile", append = TRUE)
内容的提问来源于stack exchange,提问作者danek




