自动安装二进制软件包的依赖项

时间:2018-09-25 14:39:10

标签: r r-package

在R中,我已经开发了自己的工作包(我们称其为'foo'),并且已经构建了该包并生成了二进制foo.zip,其描述文件中列出了相关性(例如ggplot2)。

当我在“软件包”选项卡中使用R软件包安装程序时,它不会自动从CRAN下载依赖项。最终,我不希望最终用户必须这样做,也暂时不打算将其加载到CRAN。

我可以使用devtools::install_dep,但我不希望用户这样做!

1 个答案:

答案 0 :(得分:0)

您没有说您期望用户如何安装该软件包。我相信,如果您将其放在类似CRAN的存储库中的网络上,并告诉您的用户从那里安装,R默认会安装依赖项。这涉及告诉他们如何将您的存储库添加到存储库列表,因此让他们安装devtools和使用devtools::install_dep可能很容易。

另一种可能性是将您的软件包分发为源版本。那么这个答案:https://stackoverflow.com/a/38902163/2554330给出了如何进行的想法。对我来说,安装"~/RStudio/foo/foo.tar.gz"之类的东西是

install_url(paste0("file://", normalizePath("~/RStudio/foo/foo.tar.gz")))

如果您使用的是Windows,则可能需要稍微不同的方式来构造URL。

仅当您的所有用户都使用与您相同的R版本时,分发二进制软件包才方便。如果次要版本号发生更改,则不能保证它们可以正常工作。