R 中的包 rgl 未在 Mac OS 中加载

问题描述 投票:0回答:3

我在 R (3.6.3) 中安装了 rgl 包 (0.104.16),但它无法加载。我没有收到任何错误。它永远不会结束加载。我尝试重新安装 R 和 RStudio 以及 Xquartz。什么都不起作用。我的 Mac 操作系统 Catalina 版本为 10.15.7。 任何帮助将不胜感激! 干杯

r macos-catalina rgl xquartz
3个回答
15
投票

编辑以添加新的详细信息和建议的修复。

这似乎是由于 2 月初发布的 Xquartz 2.8.0beta 版本中的问题造成的。有两个问题:

  • 它对

    libX11.6.dylib
    进行了不兼容的更改,因此为 2.7.11 版本构建的程序(如
    rgl
    的 CRAN 二进制文件)将无法运行。如果您从源代码构建
    rgl
    (以及使用 X11 的其他所有内容),可能没问题——这对我来说是。

  • 卸载它后,它会留下两个在启动时运行的程序:

    /Library/LaunchDaemons/org.xquartz.startx.plist
    (重新启动系统时运行)和
    /Library/LaunchAgents/org.xquartz.startx.plist
    (登录时运行)。如果您随后安装 2.7.11,这些将无法运行(可能是因为上面提到的 libX11 更改)。到那时,X11 中就没有任何作用了。

所以解决方案似乎是:

  • 将 XQuartz 从
    Applications/Utilities
    文件夹拖到垃圾箱即可卸载。
  • 通过在 R 中运行
    rgl
    来卸载
    remove.packages("rgl")
  • org.xquartz.startx.plist
    /Library/LaunchDaemons
    中删除名为
    /Library/LaunchAgents
    的两个文件。
  • 重新启动系统以删除从这些文件启动的进程。
  • 重新安装 XQuartz 2.7.11。
  • 从 CRAN 或源重新安装
    rgl

如果我错了并且该过程不起作用,那么只要您的

rgl
版本至少为 0.105.12,这几乎肯定会起作用(但不会给您任何
rgl
窗口):

# Start a new session
options(rgl.useNULL = TRUE)
library(rgl)

要查看您的显示,请运行

rglwidget()
函数,它们将显示在浏览器或 RStudio 查看器窗格中。


2
投票

我安装了 XQuartz 2.8.5,重新启动了我的 M1 Mac,我可以安装并运行 Rayshader 演示。问题显然是 rgl 有 x386 库,但没有 ARM 库(或者至少是它们的别名),但是安装最新的 XQuartz 可以解决这个问题,而不必费力删除文件


0
投票

对于 Mac 用户...安装 XQuartz 对我来说也很有效。根据 R 的说法,“在 Mac OS X 上,如果您从终端使用 RStudio 或 R,则必须安装 XQuartz(X11 窗口管理器)的副本。自 Mac OS X 10.8 起,这不再是默认安装。您需要安装 XQuartz。” 您可以阅读有关它的更多信息并在此处找到 XQuartz 的链接:https://cran.r-project.org/web/packages/nat/vignettes/Installation.html

© www.soinside.com 2019 - 2024. All rights reserved.