假设我需要在没有互联网连接的(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
但我找不到从本地文件安装源包的示例,包括它的依赖项。