【发布时间】:2019-03-08 05:01:53
【问题描述】:
这个问题在以下站点附近:
R - Importing 'xlsx' package to my own package doesn't work
我在一些安装顺利的计算机上制作了一些名为aa 的包。
当我尝试在另一台计算机上安装自己的软件包时,会出现以下错误消息:
==> Rcmd.exe INSTALL --no-multiarch --with-keep.source aa
* installing to library 'C:/Users/aaaaaaaaaaa/Documents/R/win-library/3.5'
ERROR: dependencies 'knitr', 'rstan', 'readxl', 'testdat', 'openxlsx', 'xlsx', 'gridExtra' are not available for package 'aa'
* removing 'C:/Users/aaaaaaaaaaa/Documents/R/win-library/3.5/aa'
In R CMD INSTALL
Exited with status 1.
通过我的手,一旦我安装了上述错误中描述的包knitr,则错误消息如下,其中包knitr 消失了:
==> Rcmd.exe INSTALL --no-multiarch --with-keep.source aa
* installing to library 'C:/Users/aaaaaaaaaaa/Documents/R/win-library/3.5'
ERROR: dependencies 'rstan', 'readxl', 'testdat', 'openxlsx', 'xlsx', 'gridExtra' are not available for package 'aa'
* removing 'C:/Users/aaaaaaaaaaa/Documents/R/win-library/3.5/aa'
In R CMD INSTALL
Exited with status 1.
我想知道的是我自己的包中使用的包是不是自动安装的。
【问题讨论】:
-
如果你想自动安装包,你必须将你的包发布到 CRAN
-
这取决于你如何安装包。如果您使用 devtools 从 GitHub/a 存储库安装,并且依赖项列在 DESCRIPTION 文件的 Depends 或 Imports 中,它们应该会自动安装。但是,对于那组特定的包,至少有一个包失败的可能性很高,因为 knitr 需要 pandoc,rstan 需要编译器,而 xlsx 需要 rJava,这需要很多它不想告诉你的东西。跨度>
-
这是感谢@Chris 的简短说明,我尝试理解您建议的页面。这对我来说很难。
-
感谢@alistaire 的回复。如果包包含许多导致失败的需求,那么从 NAMESPACE 和 DESCRIPTION 中删除包会更好吗?因为如果我在 NAMESPACE 和DESCRIPTION 中保留必需的包,那么它会读取我们安装失败。
标签: r installation package-development