34

我目前正在尝试在计算集群上运行一些 R 代码,但install.packages由于集群上的一些奇怪的防火墙设置而无法运行该功能。由于我只在我的 R 代码中使用了几个包,我希望install.packages通过手动下载和安装包来避免使用该功能。

注意:我知道有一种方法可以通过使用 HTTP 代理来避免此问题,如 R FAQ 中所述。不幸的是,负责我的集群的人在设置它时没有帮助,所以我不得不考虑这种替代方法。

理想情况下,我想将包文件从 CRAN 下载到我的计算机,然后将这些文件上传到集群并使用 R 中的适当命令安装它们。此外,我还想确保将包安装到我选择的位置,因为我没有在默认 R 目录中“写入”的权限(我相信我可以通过使用该.libPaths函数在 R 中执行此操作)

最后,我在集群上使用的计算机是 Unix x86_64。

4

4 回答 4

32

您可以使用以下命令手动安装软件包

install.packages('package.zip', lib='destination_directory',repos = NULL)

请参阅 的帮助以?install.packages获取更多说明

于 2013-02-11T06:09:15.113 回答
1

我在安装 caret 包时也遇到了同样的问题, caret 包有很多依赖项。所以,我做了以下

install.packages('caret') 这为所有 zip 格式的包提供下载位置,错误消息中显示。将所有包从下载源解压缩到某个位置,例如在 'C:/PublicData/RawRPackages' 中,然后运行以下命令。

foldername<-'C:/PublicData/RawRPackages'
install.packages(paste(foldername , 'caret',sep='/'), repos = NULL, type="source")
library(caret, lib.loc=foldername)
于 2018-08-12T12:38:02.870 回答
1

如果我们想在本地下载和安装,这是更好的方法:

download.packages('lib_name',destdir='dest_path')

例如 :

download.packages('RJDBC',destdir='d:/rlibs')
于 2018-04-21T09:58:21.663 回答
0
install.packages("libname",lib = "file://F:/test")
于 2017-04-20T19:36:28.607 回答