对于没有互联网的离线Linux机器,安装具有大量依赖项的R包是一场噩梦。我在 SE 中发现了几篇帖子,讨论如何创建本地文件夹、复制所需的包 zip 文件并使用“install.packages”进行安装。
但是,查找、下载大量包并将其上传到离线服务器是一项耗时的工作。所以,我想知道如何下载所有 CRAN 包的整个 zip 文件,以便将它们放入本地离线计算机的 http Web 服务器目录中,并像真正的存储库一样运行。大小可能会很大,大约 200 GB,但对于企业环境,我认为这应该是有意义的。
我找到了指南 here讨论如何成为官方的 CRAN 镜像,但我不会成为官方的公共(public)镜像。
请指教。 提前致谢
最佳答案
您可以使用函数available.packages
查找可用的软件包。
pkgnames <- available.packages()[,1]
如果您喜欢网页抓取,可以按如下方式练习。
library(rvest)
pkgs <- read_html("https://cran.r-project.org/web/packages/available_packages_by_name.html")
tab <- html_nodes(pkgs, "table") %>% html_table(fill = TRUE)
pkgnames <- tab[[1]][1]$X1
pkgnames <- pkgnames[nchar(pkgnames)>0]
除非您想安装(或下载)大量软件包,否则不要运行这些程序!!
#sapply(pkgnames, install.packages)
#sapply(pkgnames, install.packages)
您可以运行此行来证明它有效。
sapply(pkgnames[1:2], install.packages)
您可以替换install.packages
与 download.packages
以及 destdir
参数将其保存到您的公司目录。
关于r - 如何下载整个CRAN存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39051381/