早上好,澳大利亚。
由于我们工作的电脑不能上网,我让我们的IT经理下载所有的R软件包,并将它们放在一个共享的网络位置。我已经将这些4GB的软件包转移到了我的本地目录:E:/R-3.3.1/MyRPackages/src/contrib/_. tar. gz
我希望我的软件包安装在E:\R-3.3.1\library中
我正在使用Windows 7专业版,64位,沿着RStudio和R版本3.3.1(2016 - 06 - 21)。
我只是想安装. packages并从我的本地仓库安装一个包,包括它的所有依赖项。
我已经试着阅读了这方面的内容,并尝试了安装. packages命令的几种排列,但我没有运气。例如,
- install. packages("E:/R-3.3.1/MyRPackages/src/contrib/devtools_1.12.0.tar.gz",dependencies = TRUE,repos = NULL)**
错误代码:dependencies 'httr','memoise','whisker','footer','rstudioapi','jsonlite','git2r','withr' are not available for package 'devtools'* removing 'E:/R-3.3.1/library/devtools'安装. packages中的警告:正在运行命令"" E:/R-33~1.1/bin/x64/R "CMD ALL-l" E:\R-3.3.1\library "" E:安装包中的错误/R-3.3.1/MyRPackages/src/contrib/devtools_1.12.0.tar.gz "'had status 1 Warning in install. packages:installation of package' E:“R-3.3.1/MyRPackages/src/contrib/devtools_1.12.0.tar.gz”具有非零退出状态
- install. packages("E:/R-3.3.1/MyRPackages/src/contrib/devtools_1.12.0.tar.gz",dependencies = TRUE,repos = NULL,lib ="E:/R-3.3.1/library")**
错误代码:dependencies 'httr','memoise','whisker','footer','rstudioapi','jsonlite','git2r','withr' are not available for package 'devtools'* removing 'E:/R-3.3.1/library/devtools'安装. packages中的警告:正在运行命令"" E:/R-33~1.1/bin/x64/R "CMD ALL-l" E:\R-3.3.1\library "" E:安装包中的错误/R-3.3.1/MyRPackages/src/contrib/devtools_1.12.0.tar.gz "'had status 1 Warning in install. packages:installation of package' E:“R-3.3.1/MyRPackages/src/contrib/devtools_1.12.0.tar.gz”具有非零退出状态
- install. packages("E:/R-3.3.1/MyRPackages/src/contrib/devtools_1.12.0.tar.gz",dependencies = TRUE,repos = NULL,lib ="E:/R-3.3.1/library",type ="source")**
错误代码:dependencies 'httr','memoise','whisker','footer','rstudioapi','jsonlite','git2r','withr' are not available for package 'devtools'* removing 'E:/R-3.3.1/library/devtools'安装. packages中的警告:正在运行命令"" E:/R-33~1.1/bin/x64/R "CMD ALL-l" E:\R-3.3.1\library "" E:安装包中的错误/R-3.3.1/MyRPackages/src/contrib/devtools_1.12.0.tar.gz "'had status 1 Warning in install. packages:installation of package' E:“R-3.3.1/MyRPackages/src/contrib/devtools_1.12.0.tar.gz”具有非零退出状态
2条答案
按热度按时间xlpyo6sf1#
继续@rosscova的回答:有各种各样的工具可以确定一个包的完整递归依赖集。再多做一点工作,你就可以写一个脚本来获取它们(这确实很可能已经有人在某个地方完成了......)
字符串
这可能有点误导,因为(
?package_deps
)print()方法识别每个依赖包的本地和CRAN版本之间的不匹配(如果有的话);
这意味着要获得完整的依赖项列表,您需要直接打印
p$package
:型
再给点提示。
抓取包tarball +依赖的配方组件
tools::package_dependencies("pkgname", recursive = TRUE)
available.packages()["pkgname", "Version"]
paste
/sprintf
/glue
[MIRROR]/src/contrib/[PKGNAME]_[VERSION].tar.gz
download.file()
tar()
然后参见this answer安装远端的部件。
holgip5t2#
如果没有互联网连接,您还需要让IT经理下载依赖包,并以适当的顺序安装它们。当您将
repos = NULL
传递给install.packages
函数时,它无法查找这些依赖项。由于这些依赖项中的每一个都可能有它们自己的依赖项 *,这可能最终会成为您的IT经理的一大难题(是的,我也在澳大利亚!).我可以建议你安排一个临时连接到互联网上你的机器?否则,也许可以看看Packrat,应(我自己以前没有使用过)允许您的IT经理使用您需要的软件包创建项目(包括它们的依赖项)。然后你可以使用它来安装你的机器上的软件包。
httr
包,它本身依赖于mime
,curl
,openssl
和R6
.mime
然后又依赖于tools
.