【问题标题】:What can cause CRAN to show package errors from another package?什么会导致 CRAN 显示来自另一个包的包错误?
【发布时间】:2016-11-08 12:32:26
【问题描述】:

我刚刚将新版本的软件包 userfriendlyscience(版本 0.5-0)推送到 CRAN。 CHECK results for Windows 显示错误。查看这些表明它们似乎是由另一个包引起的,特别是 mgcv,或者可能是依赖关系树中的另一个包希望使用该包中以前的 exported 函数。

我安装了最新的R-devel 并再次运行RCMD CHECK --as-cran,但这仍然完成,没有任何错误等。据我所见,我提交的包“有效”。

所以我假设 CRAN 显示的错误确实存在于其他包中。但是,怎么可能呢? CRAN不应该阻止提交有此类错误的包,换句话说,导致错误的包不应该不可能存在于CRAN上吗?

是否有人对我如何开始找出究竟出了什么问题有任何建议,以便我可以修复它(如果它最终证明是这个包)或通知作者这是由另一个包引起的?

[注意:之前的版本确实有报错,在0.5-0已经解决]

[对于任何想要在 Windows 中验证安装成功的人:安装上传的源版本以及编译的 windows 版本的说明are here]

【问题讨论】:

  • could not find function "scaleReliability" 在您的一个单元测试中并不表示另一个包中的错误。是什么给了你这个想法?如果您仔细查看 0.4-1 版失败的地方,那就是您的测试。 0.5-0 版显然无法在 Windows 上安装。
  • 不,这是真的 - 并且该错误已在 0.5-0 中解决。我的意思是那个版本 - 对不起,我应该更明确。我将编辑问题以解决这种歧义。
  • 好的。那么你在 Windows 操作系统上成功安装了你的包吗?
  • 我不知道那里发生了什么以及这可能是 Windows 特定的问题。 mgcv 可能是由您的依赖项之一间接导入的。但是,exportPattern("^[[:alpha:]]+") 不是一个好习惯。尝试在您的导出中更加具体,看看是否能解决问题。
  • 您可以尝试在 win-builder.r-project.org 上重现问题。

标签: r package cran


【解决方案1】:

(回答自己这个问题,以防其他人遇到这个问题)

此问题自行解决。过了一会儿,CRAN 不再提示同样的错误。

根据这一点和另一次上传的经验,我目前怀疑 CRAN 在任何给定点上都没有“准备好”;相反,它不断地构建包。因此,一个包可能会在一个包已经更新但依赖于该包的包尚未更新的窗口中碰巧遇到一些错误。不兼容导致的错误随后会显示在您的包中。

如果这种解释是准确的,那么解决方法就是等待几天,看看情况是否会自行解决。如果没有,我建议尝试联系引发错误的软件包的维护者,看看他们是否知道发生了什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-22
    • 2011-04-21
    • 1970-01-01
    相关资源
    最近更新 更多