【问题标题】:Ignore a dependency during R CMD check在 R CMD 检查期间忽略依赖项
【发布时间】:2021-11-25 15:48:33
【问题描述】:

我开发了一个包,使我的团队(可能还有其他感兴趣的用户)能够安装和使用在 CRAN 上存档的特定 R 包 (RQDA)。我在 GitHub 上托管了 this package,并且正在尝试设置 GitHub Actions,以便我有一个 CI 工作流程。

每当我在本地运行 R CMD check 时,一切都很好,但是当我推送到 GitHub 时,构建失败。这是因为,默认情况下,Actions 会尝试安装相同的(存档)包。不出所料,这会失败。

所以,我的问题是:有没有办法可以为特定的包依赖项禁用check?没有计划永远将此包裹发送给 CRAN,因此我很乐意在这种情况下绕过他们的包裹政策。

【问题讨论】:

    标签: r github-actions r-package


    【解决方案1】:

    2 种可能的方式:

    • 将 RQDA 的源代码上传到 Github 存储库或其他可公开访问的位置,并在您的说明文件中添加 Remotes:

    • 将包保存到云存储,例如 S3 存储桶或 Azure 存储容器,并在检查之前作为单独的工作流步骤从那里下载

    【讨论】:

    • 虽然我能够以不同的方式解决它,但您的回答实际上给了我一个全新的视角。谢谢!
    【解决方案2】:

    这就是我能够处理问题的方式:

    所做的更改完全在./.github/workflows/ 的工作流文件中。其中一项工作是为项目安装 R 包依赖项:

      - name: Install dependencies
        run: |
          remotes::install_deps(dependencies = TRUE)
          remotes::install_cran("rcmdcheck")
        shell: Rscript {0}
    

    我做的第一件事是将dependencies 参数更改为NA,以便只安装DependsImports 中列出的包。 (给我带来麻烦的 RQDA 依赖项位于 Suggests 下)。

    仍然存在错误,但这次提供了一些指导,涉及到工作 Check 并将环境变量 _R_CHECK_FORCE_SUGGESTS_ 设置为 false

    check 现在可以正常工作了。

    【讨论】:

      猜你喜欢
      • 2013-03-24
      • 2010-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-17
      • 1970-01-01
      • 1970-01-01
      • 2016-09-07
      相关资源
      最近更新 更多