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

R中的包rgl未加载到Mac OS中,r,macos-catalina,rgl,xquartz,R,Macos Catalina,Rgl,Xquartz,我在R3.6.3中安装了rgl包0.104.16,但它没有加载。我没有发现任何错误。它永远不会停止加载。我尝试重新安装R和RStudio以及Xquartz。什么都没用。我有MacOSCatalina版本10.15.7。 任何帮助都将不胜感激! Cheers编辑以添加新的详细信息和建议的修复 这似乎是由于2月初发布的Xquartz的2.8.0beta版存在问题。有两个问题: 它对libX11.6.dylib进行了不兼容的更改,因此为2.7.11版本构建的rgl的CRAN二进制文件等程序将无法运行。

我在R3.6.3中安装了rgl包0.104.16,但它没有加载。我没有发现任何错误。它永远不会停止加载。我尝试重新安装R和RStudio以及Xquartz。什么都没用。我有MacOSCatalina版本10.15.7。 任何帮助都将不胜感激! Cheers

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

这似乎是由于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文件夹拖到垃圾箱中,卸载XQuartz。 通过在R中运行remove.packagesrgl卸载rgl。 从/Library/LaunchDaemons和/Library/LaunchAgents中删除这两个名为org.xquartz.startx.plist的文件。 重新启动系统以删除从这些文件启动的进程。 重新安装XQuartz 2.7.11。 从CRAN或源代码重新安装rgl。 如果我错了,并且该过程不起作用,只要您的rgl版本至少为0.105.12,这几乎肯定会起作用,但不会给您任何rgl窗口:

要查看您的显示,请运行rglwidget功能,它们将显示在浏览器或RStudio查看器窗格中。

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

这似乎是由于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文件夹拖到垃圾箱中,卸载XQuartz。 通过在R中运行remove.packagesrgl卸载rgl。 从/Library/LaunchDaemons和/Library/LaunchAgents中删除这两个名为org.xquartz.startx.plist的文件。 重新启动系统以删除从这些文件启动的进程。 重新安装XQuartz 2.7.11。 从CRAN或源代码重新安装rgl。 如果我错了,并且该过程不起作用,只要您的rgl版本至少为0.105.12,这几乎肯定会起作用,但不会给您任何rgl窗口:


要查看您的显示,请运行rglwidget功能,它们将显示在浏览器或RStudio查看器窗格中。

手动安装rgl软件包时,这似乎有效。但是,在Github操作的R_CMD_检查期间,当rgl作为依赖项安装时,有没有实现此解决方案的方法?对不起,如果这是一个哑巴question@yasel:在操作的env:部分中设置环境变量RGL\u USE\u NULL:true,这不会成为问题。手动安装RGL包时,这似乎有效。但是,在Github操作的R_CMD_检查期间,当rgl作为依赖项安装时,有没有实现此解决方案的方法?对不起,如果这是一个哑巴question@yasel:在操作的env:部分中设置环境变量RGL\u USE\u NULL:true,这不会成为问题。
# Start a new session
options(rgl.useNULL = TRUE)
library(rgl)