使用r install.packages命令安装已下载的软件包。

3
我正在尝试安装和更新软件包。使用install.packages(ask = FALSE)下载软件包,但如果出现错误,则会中止。如果我再次运行它,则它会再次下载软件包。如何在重复运行时检查并安装已经下载的软件包,而不是每次都下载?我正在使用Debian Stable Linux和backports存储库,如此提到:http://cran.r-project.org/bin/linux/debian/README
2个回答

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)

无需再次下载即可使用。

谢谢回复。我们可以使用“/tmp/RtmpSPFiKl/downloaded_packages/*.tar.gz”选项安装所有下载的软件包吗? - rnso
1
我不认为,但你可以使用install.packages(list.files("/tmp/RtmpSPFiKl/downloaded_packages/",full.names=TRUE),repos=NULL)进行安装。 - nicola

1
你可以使用destir参数,并将repos设置为NULL。
install.packages("RcppEigen",destdir = '/tmp/RtmpWq9e8P/downloaded_packages',repos=NULL)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接