脱机安装R软件包和依赖项

假设我需要在没有Internet连接的(Linux)机器上安装许多软件包。假设我下载了一份cran副本,并将其刻录到DVD上,然后将其带到离线位置:


wget ftp://cran.r-project.org/pub/R/src/contrib/*.tar.gz

我什至可以添加一个PACKAGES文件,其中包含所有源包及其依赖项的概述:


library(tools)

write_PACKAGES()

我如何使用此脱机方式安装源程序包,从而也可以解决依赖关系并从本地文件安装?例如,某人想要安装软件包ggplot2,它具有相当深的依赖性结构。假设ggplot2的源包及其所有依赖项都可以在当前工作目录中作为源包使用。如果我做:


install.packages("ggplot2_0.9.1.tar.gz", repos=NULL)

这将导致错误,因为根本无法解决依赖关系。或者:


install.packages(list.files(pattern="*.tar.gz"), repos=NULL)

但是,这也忽略了依赖关系结构,并尝试按字母顺序安装软件包,这也会失败。


我调查了一下available.packages,contrib.url但是找不到从本地文件(包括其依赖项)安装源程序包的示例。


慕田峪7331174
浏览 592回答 3
3回答

牧羊人nacy

参考上面的答案,如果安装是在Windows中进行的,则write_PACKAGES()会生成两个文件:“ / path / to / packages /”目录下的PACKAGES和PACKAGES.gz,其中放置了所有zip文件。在install.packages()函数能够正确读取单独的PACKAGES文件之前,应删除文件PACKAGES.gz,否则会出现“无法打开压缩文件”错误。

蝴蝶刀刀

在脱机安装过程中,我遇到了同样的问题。不知何故,它无法通过命令行运行。我下载并提取了所有依赖项(需要检查最低版本),然后将文件夹粘贴到库文件夹中。这样,只有我的问题得到了解决。
打开App,查看更多内容
随时随地看视频慕课网APP