CRAN 包检查和 R CMD 检查-as--cran 之间的差异

Posted

技术标签:

【中文标题】CRAN 包检查和 R CMD 检查-as--cran 之间的差异【英文标题】:Discrepancy between CRAN package check and R CMD check -as--cran 【发布时间】:2014-11-05 21:33:58 【问题描述】:

我想向 CRAN 存储库提交一个包 (DLMtool)。当我使用R CMD check --as-cran 检查包裹时,我只收到一条关于新提交的注释。

但是,当我提交包时,我收到了 R 核心团队关于我没有收到的错误的反馈。例如:

Quitting from lines 261-262 (DLMtool.Rnw)
Error: processing vignette 'DLMtool.Rnw' failed with diagnostics:
one node produced an error: NAs are not allowed in subscripted assignments 

我无法通过自己运行代码来重现此错误。但这不是这篇文章的重点:我不担心具体的错误,而是我自己无法检测到这些错误。到目前为止,Ripley 教授一直很有耐心。我非常不想再浪费他或任何 R 核心团队的时间,将它们用作一步一步的检查过程。

如果--as-cran不足,如何重新创建CRAN包检查流程?

据我所知,有人就以前版本的 R 提出了一个类似的问题,但没有得到令人满意的回答:

CRAN package check finds warning that R CMD check --as-cran doesn't

干杯,

汤姆

我使用的是 Windows 7 x64、RStudio 0.98.507 和 R 3.1.1 x64。

【问题讨论】:

CRAN 检查 R 的发布版本和开发版本;您可能只使用发布版本。 这可能是在 R-devel 中改变的东西,所以你需要使用它来运行你的测试。要在 Windows 上执行此操作,您需要从源代码构建 R。如果您以前没有这样做过,那可能会很乏味。我一直在收集some notes on how to do it here,如果您以前没有这样做过,您可能会发现它很有用。另一种方法是通过 Travis CI 之类的工具运行该软件包,这样您就不必在自己的机器上构建 R-devel。 devtools::build_win() 通常很有帮助 感谢 Dirk、Thomas 和 Hadley。这些现在在我的提交步骤列表中。 你可以试试我在这里描述的 docker 容器:***.com/a/33202985/2161065 【参考方案1】:

向 CRAN 提交一个包仍然让我感到不安,尽管在很多情况下都取得了成功。

需要检查的一些事项:

    确保您使用的是正确的流程

具体来说,使用:

R CMD build pkg
R CMD check pkg_version.tar.gz

    确保使用当前版本的 R 以及开发分支 R-devel (http://cran.r-project.org/bin/windows/base/rdevel.html) 进行检查

    将你的包提交给 windows builder (http://win-builder.r-project.org/)

    确保您已阅读并完全理解 CRAN 提交政策的每一句话 (http://cran.r-project.org/web/packages/policies.html)

    使用在线提交表单 (http://cran.r-project.org/submit.html) 提交您的包裹

然后希望最好的。

说实话,我在 CRAN 构建团队中遇到的每个个人都非常耐心和乐于助人。

【讨论】:

感谢 Andrie 编辑我的帖子并提供可靠的答案。我将按照您的建议检查包含 R 的当前版本和开发版本的软件包。 然而,我遇到的问题源于包装的随机性。 Ripley 教授发现了一个合理的错误,我最终通过足够的复制设法重新创建了该错误。为了使小插图构建在未来的迭代中稳定,我选择使用 set.seed() 以便用户获得与小插图相同的结果,并且奇怪的错误不会在那个阶段出现(这可能会浪费 CRAN 核心团队时间)。

以上是关于CRAN 包检查和 R CMD 检查-as--cran 之间的差异的主要内容,如果未能解决你的问题,请参考以下文章

CRAN 包提交

检查错误--as-cran“没有名为...的包”

R CMD CHECK --as-cran在OS X Catalina上失败

R CMD 检查:全局变量没有可见绑定(使用包中的数据/数据集时)

R语言包安装成功但使用不了怎么办

仅当我将包裹提交给 CRAN 时才会出错