【问题标题】:Installing custom package which depends on other custom package安装依赖于其他自定义包的自定义包
【发布时间】:2020-07-08 01:25:24
【问题描述】:

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

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

install.packages("//mywebsite.com/foo",
                 repos = NULL,
                 type = "source")

我现在想与其他人分享bar。我已阅读 devtools page on dependencies 并了解我只需将 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,但我不确定。

【问题讨论】:

    标签: r package dependency-management


    【解决方案1】:

    看起来remotes::install_url 需要 .zip、.tar 或 .tar.gz,如果您指定 Remotes: url:://mywebsite.com/foo,这很可能会被调用来安装依赖项。

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

    【讨论】:

    • 不幸的是它不在本地驱动器上。这是一个我可以映射到网络驱动器的 IP 地址(事实上,我已经这样做了),但是公司中想要使用该软件包的任何其他人也需要这样做。所以我想这意味着一个压缩文件(或tarball)将是必要的......臭虫。
    猜你喜欢
    • 1970-01-01
    • 2019-11-02
    • 2021-04-27
    • 2022-11-17
    • 2011-09-09
    • 1970-01-01
    • 1970-01-01
    • 2020-03-24
    • 2020-04-12
    相关资源
    最近更新 更多