【问题标题】:getting a package on CRAN to pass winbuilder tests (to get it on CRAN) with a linux specific package (doMC)在 CRAN 上获取一个包以通过带有 linux 特定包 (doMC) 的 winbuilder 测试(在 CRAN 上获取它)
【发布时间】:2018-08-22 17:10:29
【问题描述】:

所以,我已准备好在 CRAN 上获取我的包,但我使用了 doMC 包,它仅在 CRAN 上的 linux 上可用(它在 R-forge for windows 上可用)。我在 devtools:check() 上没有收到任何错误,但是当 CRAN 尝试使用 winbuilder 构建它时,我确实收到了以下错误。我想有些包使用该包,而 doMC 包本身是 linux 特定的。

这是错误: * 检查包命名空间信息...好的 * 检查包依赖关系...错误 需要但不可用的包:'doMC'

请参阅“编写 R 扩展”中的“描述文件”部分 手动的。 * 完毕 状态:1 个错误,1 个注释

【问题讨论】:

  • 你为什么用doMC而不是doParalleldoFuture

标签: r devtools cran domc


【解决方案1】:

我会添加类似的内容:

doMC - 软件包不适用于 Windows

然后,如果您想更严格一点,请将其添加到您实际使用的位置,使用doMC 的函数:

if (!requireNamespace("doMC")) {
  stop("package doMC required to do this thing....")
}

【讨论】:

  • 你会把这个放在哪里?你能给出一个可重现的函数吗?
  • 就在您使用从 doMC 使用的任何功能之前。这样对用户来说,它会失败并显示信息丰富的消息。
  • 这对@import roxygen2 文档语句有效吗?我认为这就是我认为事情失败的地方。
  • 我认为 R CMD check 失败了,因为您正在 Windows 上构建它,而 doMC 在 Windows 上不可用。是什么让你认为它是一种氧气?在您的说明文件中的 Imports 中,您可能有 doMC... repo 是公开的吗?
【解决方案2】:

Ralf Stubner 的回答效果最好。我将所有内容都更改为 doParallel 并且效果很好。 “为什么你使用 doMC 而不是 doParallel 或 doFuture?”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-24
    • 2020-11-24
    • 2023-03-23
    • 2014-05-01
    • 1970-01-01
    • 2011-05-24
    相关资源
    最近更新 更多