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

6kkfgxo0  于 2023-03-15  发布在  Mac
关注(0)|答案(2)|浏览(287)

我在R(3.6.3)中安装了rgl包(0.104.16),但是它没有加载。我没有收到任何错误。它只是永远不会结束加载。我尝试重新安装R和RStudio以及Xquartz。没有任何效果。我有Mac OS Catalina 版本10.15.7。任何帮助将不胜感激!干杯

jtoj6r0c

jtoj6r0c1#

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

这似乎是由于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,这些将无法运行(可能是因为上面提到的libX 11更改)。此时,X11中的任何功能都无法工作。

因此,解决办法似乎是:

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

如果我错了,这个过程不起作用,只要你的rgl版本至少是0.105.12,这个过程几乎肯定会起作用(但不会给予你任何rgl窗口):

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

要查看显示内容,请运行rglwidget()函数,它们将显示在浏览器或RStudio查看器窗格中。

vc6uscn9

vc6uscn92#

我安装了XQuartz2.8.5,重启了我的M1Mac,我可以安装并运行rayshader演示。问题显然是rgl有x386库,但没有ARM库(或者至少是它们的别名),但安装最新的XQuartz修复了这个问题,而不必摆弄删除文件

相关问题