【问题标题】:devtools::check generates an error (install options '--no-html --no-multiarch) at seemingly randomly timesdevtools::check 在看似随机的时间生成错误(安装选项\'--no-html --no-multiarch)
【发布时间】:2022-08-03 06:24:23
【问题描述】:

我正在创建自己的包并使用 devtools 来记录和检查包。我运行 devtools::check() 大约 50% 的时间都以这个错误结束:

❯ checking whether package \'snafun\' can be installed ... ERROR See below...

── Install failure ─────────────────────────────────────────────────────────────────────────────────────────────────

install options \'--no-html --no-multiarch

然而,这只会发生大约一半的时间。有时它不会,有时它会。我可以连续运行 devtools::check 多次(无需对代码或中间的会话进行任何更改)并在一半的运行中出现此错误,而在另一半则没有。有时,如果我在其他时间之间重新启动会话似乎会有所帮助,这没有任何区别。

我曾尝试使用 devtools::check 的参数,但这似乎不会影响错误(这可能与这是一个“安装失败”和 devtools::check 没有安装参数有关)。

我很困惑。我有以下问题:

  • 这个错误是什么意思?有问题吗?
  • 什么可以让它看似随机地出现和消失?
  • 解决这个问题的方向是什么?

ps这个包很大,所以我不能把它变成一个reprex

  • 你应该缩小问题的范围。它是否仅在您使用devtools::check() 时发生,还是与R CMD check 一起发生?既然是安装问题,那R CMD INSTALL呢?更多在下一条评论...
  • 计算机代码有很多方法是非确定性的。您可能在其中一个 .R 文件中使用了随机数生成器,因此代码本身是随机的。 (您可能知道这一点,但也许您没有意识到源文件中的代码是在安装时运行的。)或者您可能有一些写得很糟糕的代码引用了未初始化的变量,并且它正在查看内存中那个位置发生的任何值;这似乎是随机的。多一个...
  • 回到第一条评论:缩小范围是必不可少的。一旦你有了半定期生成问题的最小过程,就开始从你的包中取出东西,直到你有一个仍然会生成它的最小包。也许那会足够小,你能够把它贴在这里。与此同时,我投票结束,因为我们没有任何事情要做。
  • 比你,有道理。但是,这个错误有什么具体的吗?知道何时触发此特定错误会有所帮助,因此我有一个可以缩小范围的方向。换句话说,devtools::check 报告安装选项 \'--no-html --no-multiarch\' 错误必须是什么?

标签: r devtools


【解决方案1】:

我遇到了完全相同的问题,我通过安装 rcmdcheck 包解决了它。

install.packages("rcmdcheck")
library(rcmdcheck)
rcmdcheck('MyPath/MyPackage')

【讨论】:

    猜你喜欢
    • 2023-03-24
    • 1970-01-01
    • 2017-05-02
    • 2014-11-09
    • 2010-11-05
    • 1970-01-01
    • 2016-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多