澳大利亚的早上好,
由于我们的计算机无法访问互联网,我已要求我们的IT经理下载所有R包并将其放在共享网络位置。我将这4GB的包转移到我的本地目录后: 的 E:/R-3.3.1/MyRPackages/src/contrib / ______的tar.gz
我希望我的软件包能够安装在 E:\ R-3.3.1 \ library
中我使用的是Windows 7 Professional,64位,以及RStudio和R版本3.3.1(2016-06-21)。
我只想安装.packages并从我的本地仓库安装一个包,包括它的所有依赖项。
我已经尝试过阅读并尝试了几个install.packages命令的排列,但我没有运气。例如,
install.packages(" E:/R-3.3.1/MyRPackages/src/contrib/devtools_1.12.0.tar.gz" ;, dependencies = TRUE,repos = NULL)
错误:依赖关系' httr',' memoise',' whisker',' digest',' rstudioapi' ,' jsonlite',' git2r',' withr'不适用于包装' devtools' *删除' E:/R-3.3.1/library/devtools' install.packages中的警告: 运行命令"" E:/R-33〜1.1 / bin / x64 / R" CMD INSTALL -l" E:\ R-3.3.1 \ library" " E:/R-3.3.1/MyRPackages/src/contrib/devtools_1.12.0.tar.gz"'有状态1 install.packages中的警告: 安装包'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")
错误:依赖关系' httr',' memoise',' whisker',' digest',' rstudioapi' ,' jsonlite',' git2r',' withr'不适用于包装' devtools' *删除' E:/R-3.3.1/library/devtools' install.packages中的警告: 运行命令"" E:/R-33〜1.1 / bin / x64 / R" CMD INSTALL -l" E:\ R-3.3.1 \ library" " E:/R-3.3.1/MyRPackages/src/contrib/devtools_1.12.0.tar.gz"'有状态1 install.packages中的警告: 安装包'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")
错误:依赖关系' httr',' memoise',' whisker',' digest',' rstudioapi' ,' jsonlite',' git2r',' withr'不适用于包装' devtools' *删除' E:/R-3.3.1/library/devtools' install.packages中的警告: 运行命令"" E:/R-33〜1.1 / bin / x64 / R" CMD INSTALL -l" E:\ R-3.3.1 \ library" " E:/R-3.3.1/MyRPackages/src/contrib/devtools_1.12.0.tar.gz"'有状态1 install.packages中的警告: 安装包'E:/R-3.3.1/MyRPackages/src/contrib/devtools_1.12.0.tar.gz'具有非零退出状态
答案 0 :(得分:2)
跟进@ rosscova的回答:有各种工具可用于确定包的完整递归依赖关系集。通过更多的工作,你可以写一个脚本来抓住它们(这确实很可能是由某人完成的,已经在某个地方......)
## dependencies=TRUE
devtools::package_deps("devtools",dependencies=TRUE)
(p <- package_deps("devtools",dependencies=TRUE))
Needs update -----------------------------
package installed available remote
curl 1.2 2.2 CRAN
evaluate 0.9 0.10 CRAN
gmailr NA 0.7.1 CRAN
hunspell NA 2.1 CRAN
irlba 2.1.1 2.1.2 CRAN
openssl 0.9.4 0.9.5 CRAN
R6 2.1.3 2.2.0 CRAN
rmarkdown 1.0 1.1 CRAN
stringi 1.1.1 1.1.2 CRAN
这可能有点误导,因为(?package_deps
)
'print()'方法识别不匹配 (如果有的话)每个依赖项的本地和CRAN版本之间 包;
这意味着要获取完整的依赖项列表,您需要直接打印p$package
:
p$package
[1] "assertthat" "base64enc" "BH" "BiocInstaller"
[5] "bitops" "brew" "caTools" "colorspace"
[9] "covr" "crayon" "curl" "devtools"
[13] "dichromat" "digest" "doParallel" "evaluate"
[17] "foreach" "formatR" "ggplot2" "git2r"
[21] "gmailr" "gridBase" "gtable" "highr"
[25] "htmltools" "httr" "hunspell" "igraph"
[29] "irlba" "iterators" "jsonlite" "knitr"
[33] "labeling" "lazyeval" "lintr" "magrittr"
[37] "markdown" "memoise" "mime" "munsell"
[41] "NMF" "openssl" "pkgmaker" "plyr"
[45] "praise" "R6" "RColorBrewer" "Rcpp"
[49] "registry" "reshape2" "rex" "rmarkdown"
[53] "rngtools" "roxygen2" "rstudioapi" "rversions"
[57] "scales" "stringdist" "stringi" "stringr"
[61] "testthat" "tibble" "whisker" "withr"
[65] "xml2" "xtable" "yaml"
答案 1 :(得分:0)
如果没有互联网连接,您还需要让IT经理下载相关性包,并按适当的顺序安装它们。当您将repos = NULL
传递给install.packages
函数时,无处可查找这些依赖项。
由于这些依赖关系中的每一个都可能具有自己的*依赖关系,这可能最终成为您的IT经理屁股的主要痛苦(是的,我在澳大利亚也是如此!)。我建议您安排在您的机器上临时连接互联网吗?否则,也许看看Packrat,它应该(我之前没有自己使用过)让IT经理创建一个项目,其中包含您需要的软件包(包括它们的依赖项)。然后,您可以使用它在您的计算机上安装软件包。
httr
本身取决于mime
,curl
,openssl
和R6
... {{然后继续依赖mime
......然后我们走下兔子洞......