我正在尝试安装和更新软件包。 install.packages(ask = FALSE)下载包,但是如果有错误,它会中止。如果我再次运行它,它会再次下载软件包。如何在重复运行时检查并安装已下载的软件包,而不是每次都下载?
我正在使用Debian Stable Linux和backports存储库,如上所述:http://cran.r-project.org/bin/linux/debian/README
答案 0 :(得分:2)
这个答案适用于Linux系统,虽然我认为对于Windows而言,事情应该不同。当您尝试安装软件包时,在过程结束时(无论是否成功),R会告诉您下载的软件包在哪里。你应该看到这样的东西:
#The downloaded source packages are in
# ‘/tmp/RtmpSPFiKl/downloaded_packages’
路径可能会根据具体情况而改变。 R将源包存储在临时文件夹中;这意味着下次重新启动时,文件将消失。所以,假设我正在尝试安装需要一些系统要求的软件包。我收到一个错误。然后我继续安装所需的系统包。当我尝试安装R包时,我可以:
install.packages("/tmp/RtmpSPFiKl/downloaded_packages/packagename.tar.gz",repos=NULL)
无需再次下载。
答案 1 :(得分:1)
您可以使用destir参数并将repos设置为NULL
install.packages("RcppEigen",destdir = '/tmp/RtmpWq9e8P/downloaded_packages',repos=NULL)