仅提供我对向 CRAN 提交包时出现的问题的解决方案,并收到与此类似的错误:
* checking tests ... [508s/167s] NOTE
Running ‘testthat.R’ [508s/167s]
Running R code in ‘testthat.R’ had CPU time 3 times elapsed time
现在我无法复制此错误(本地,在 win-hub 或 rhub 上)并且发现有关此的信息很少。
我在 R-pkg-devel 邮件列表上找到了一些有用的讨论:R-core 讨论的结果 here 或针对另一个具有相同问题的软件包的问题 here 以及 GitHub 上的解决方案 here .
本质上,该问题与程序包使用的 CPU 核心数量有关 - 以及尝试避免程序包默认使用过多 CPU 核心的 CRAN 策略。
解决方案是将变量
OMP_THREAD_LIMIT
设置为 2
。为此,我创建了一个名为 packagename.R
的新文件,如下所示:
.onLoad <- function(libname, pkgname) {
# CRAN OMP THREAD LIMIT
Sys.setenv("OMP_THREAD_LIMIT" = 2)
}
下次将其提交给 CRAN 时,这就成功了。希望这对其他人也有用!