OS X Yosemite升级后无法在R中加载X11

ray*_*ach 40 x11 macos r osx-yosemite

在尝试使用ggplot2并在升级到Yosemite后在控制台中绘图时遇到以下错误:

Error in (function (display = "", width, height, pointsize, gamma, bg,  : 
  X11 module cannot be loaded
In addition: Warning message:
In (function (display = "", width, height, pointsize, gamma, bg,  :
  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: /usr/X11/lib/libSM.6.dylib
  Referenced from: /Library/Frameworks/R.framework/Resources/modules//R_X11.so
  Reason: image not found
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

Jer*_*oia 33

看起来操作系统更新删除了/ usr/X11和/ usr/X11R6符号链接.请从http://xquartz.macosforge.org重新安装XQuartz ,它将再次为您设置符号链接.

  • 这应该是解决方案。AFAIK 许多应用程序也需要重新安装 XQuartz。 (2认同)

hrb*_*str 28

在终端窗口中执行以下操作:

locate libSM.6.dylib
Run Code Online (Sandbox Code Playgroud)

或者从R控制台执行此操作:

system("locate libSM.6.dylib")
Run Code Online (Sandbox Code Playgroud)

在我的Yosemite上安装它/opt/X11/lib/libSM.6.dylib.

如果您的设置类似,那么:

sudo ln -s /usr/X11 /opt/X11 
Run Code Online (Sandbox Code Playgroud)

应该帮助暂时解决这个问题,但我一直在寻找Yosemite R软件包(因为它将适应Apple对文件系统结构所做的所有更改).

  • 我不得不重新安装XQuartz*并*打开它(为了修复符号链接,我猜). (3认同)
  • 您还需要设置/ usr/X11R6符号链接.最简单的方法就是重新安装XQuartz,它可以帮到您. (2认同)