无法理解 devtools::check() 中由特定平台设备 (X11) 引起的 1 个注释

Unable to understand 1 note in devtools::check() caused by a platform-specific device (X11)

我正在尝试将我的包裹上传到 CRAN 并使用 devtools::check(),但我无法理解为什么该功能显示 1 个注释。

代码在 my repository 中可用。检查功能显示以下消息:


Duration: 44.3s

> checking R code for possible problems ... NOTE
  Found an obsolete/platform-specific call in the following function:
    'consulta_pedidos'
  Found the platform-specific device:
    'X11'
  dev.new() is the preferred way to open a new device, in the unlikely
  event one is needed.

0 errors √ | 0 warnings √ | 1 note x

有人知道这是什么原因吗? 提前致谢!

我很确定这是误报,来自 this code:

我还没有详细分析这个,但我认为发生的事情是:

  • 您在代码中使用了符号 X11(作为非标准 evaluation/symbolic 管道的一部分)
  • 当 R 中的检查代码查找该符号时,它会在 package::grDevices
  • 中找到具有该名称的函数(“闭包”)
  • 它检查特定 'bad' 闭包:bad_dev <- c("quartz", "x11", "X11")
  • 它断定您正在使用特定于平台的图形调用并抱怨。

这可能值得作为错误报告提交,或者至少用于讨论(在 r-devel@r-project.orgr-package-devel@r-project.org 上)。