假设我需要在没有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但是找不到从本地文件(包括其依赖项)安装源程序包的示例。
3 回答
牧羊人nacy
TA贡献1862条经验 获得超7个赞
参考上面的答案,如果安装是在Windows中进行的,则write_PACKAGES()会生成两个文件:“ / path / to / packages /”目录下的PACKAGES和PACKAGES.gz,其中放置了所有zip文件。在install.packages()函数能够正确读取单独的PACKAGES文件之前,应删除文件PACKAGES.gz,否则会出现“无法打开压缩文件”错误。
蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
在脱机安装过程中,我遇到了同样的问题。不知何故,它无法通过命令行运行。
我下载并提取了所有依赖项(需要检查最低版本),然后将文件夹粘贴到库文件夹中。这样,只有我的问题得到了解决。
- 3 回答
- 0 关注
- 582 浏览
添加回答
举报
0/150
提交
取消