安装依赖于其他定制软件包的定制软件包

时间:2020-07-08 01:25:24

标签: r package dependency-management

我有一个实用程序包foo,并开发了另一个程序包bar,它调用foo中的函数。

foo在URL(不是Github或任何此类服务)上可作为源文件使用。我使用

安装/更新它
install.packages("//mywebsite.com/foo",
                 repos = NULL,
                 type = "source")

我现在想与他人分享bar。我已经阅读了devtools page on dependencies,并且了解到我只需要在自己的Description文件中添加一个Remotes部分即可。

但是,基于URL的远程依赖项的示例是:

# URL
Remotes: url::https://github.com/hadley/stringr/archive/master.zip

这里让我担心的是,该示例使用的是.zip文件,但软件包foo仅可作为原始源目录使用。

这项工作有效吗?我可以简单地使用

Remotes: url:://mywebsite.com/foo

或者这仅适用于压缩文件吗?

我注意到下面的示例,对于本地软件包,没有扩展名(Remotes: local::/pkgs/testthat),这使我希望它表示源目录,因此也可以用于URL,但是不确定

1 个答案:

答案 0 :(得分:1)

看起来remotes::install_url需要一个.zip,.tar或.tar.gz,如果您指定Remotes: url:://mywebsite.com/foo,可能会被称为安装依赖项。

如果您的代码在Git存储库中(即使不在GitHub / GitLab上),您也可以直接引用该存储库。或者,如果它在网络驱动器上,则可以使用local而不是url来引用它,因为remotes::install_local可以处理目录。