r - 在使用适用于 macOS 的 GitHub Actions 进行测试之前如何安装 X11?

标签 r macos x11 github-actions cairo

我正在使用 GitHub Actions 测试 R 包,它在 Windows 和 Linux 上成功。
但是,它在 Mac OS 上失败,正如您在 logs 上看到的那样。 :

  Warning in grSoftVersion() :
    unable to load shared object '/Library/Frameworks/R.framework/Resources/modules//R_X11.so':
    dlopen(/Library/Frameworks/R.framework/Resources/modules//R_X11.so, 6): Library not loaded: /opt/X11/lib/libSM.6.dylib
    Referenced from: /Library/Frameworks/R.framework/Versions/4.0/Resources/modules/R_X11.so
    Reason: image not found
  Warning in cairoVersion() :
    unable to load shared object '/Library/Frameworks/R.framework/Resources/library/grDevices/libs//cairo.so':
    dlopen(/Library/Frameworks/R.framework/Resources/library/grDevices/libs//cairo.so, 6): Library not loaded: /opt/X11/lib/libXrender.1.dylib
    Referenced from: /Library/Frameworks/R.framework/Versions/4.0/Resources/library/grDevices/libs/cairo.so
    Reason: image not found
  Warning in png(filename = file, width = width, height = height, units = "in",  :
    failed to load cairo DLL
  Error in external_img(new_src, width = width, height = height) : 
    src must be a string starting with 'rId' or an image filename
  Calls: %>% ... <Anonymous> -> body_add_gg -> body_add_img -> external_img
  Execution halted
我没有 Mac 电脑,将来也不打算这样做,所以我无法自己测试。
正如我在 include cairo R on a mac 上看到的那样,这可能是由于测试机上没有安装X11。
如何告诉 GitHub Actions 此代码依赖于 X11?
编辑:
这是我的 GitHub 操作配置文件:link .添加此代码解决了问题:
  - name: Install X11 dependencies on MacOS
    if: runner.os == 'macOS'
    run: |
      brew cask install xquartz

最佳答案

Homebrew 位于 GitHub Actions 默认虚拟机上,
https://github.com/actions/virtual-environments/blob/main/images/macos/macos-10.15-Readme.md
所以你可以通过自制软件安装 X11

brew cask install xquartz
https://formulae.brew.sh/cask/xquartz
在执行 R 测试之前。

关于r - 在使用适用于 macOS 的 GitHub Actions 进行测试之前如何安装 X11?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63648591/

相关文章:

r - 在 R 中,如何自动注释每个保存的图形?

Lion OSX 上的 Git 语言环境错误

linux - 从空环境访问 X11 显示 (bash)

java - SSH X11 隧道

docker - 为什么 `xhost` 被认为是危险的?

r - 省略数据框中元素相同的行

r - 相当于 R 中混合的 SAS 过程

r - 尝试设置 "sep"/"dec"忽略 : Error in write. csv 格式 - R

mysql - 无法 rake :db migrate - Keep getting a 'rake aborted! load error'

python - 安装 Google Cloud SDK 时出错