【问题标题】:Rcmdr launch error in Yosemite (OS X 10.10)优胜美地 (OS X 10.10) 中的 Rcmdr 启动错误
【发布时间】:2014-12-15 05:07:17
【问题描述】:

升级到 OS X 10.10 Yosemite 后,在使用 library(Rcmdr) 在 R 中运行我的 Rcmdr 包时,我开始收到以下错误日志:

Error : .onLoad failed in loadNamespace() for 'tcltk', details:
  call: dyn.load(file, DLLpath = DLLpath, ...)
  error: unable to load shared object '/Library/Frameworks/R.framework/Versions/3.1/Resources/library/tcltk/libs/tcltk.so':
  dlopen(/Library/Frameworks/R.framework/Versions/3.1/Resources/library/tcltk/libs/tcltk.so, 10): Library not loaded: /usr/X11/lib/libXft.2.dylib
  Referenced from: /usr/local/lib/libtk8.6.dylib
  Reason: image not found
Error: package or namespace load failed for 'Rcmdr'

您能帮我了解如何解决吗?

这个mac os x troubleshooting 没有帮助。

【问题讨论】:

    标签: r osx-yosemite r-commander


    【解决方案1】:

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

    locate libXft.2.dylib
    

    或从 R 控制台执行:

    system("locate libXft.2.dylib")
    

    在我的 Yosemite 安装中,它位于 /opt/X11/lib/libXft.2.dylib

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

    sudo ln -s /opt/X11 /usr/X11
    

    应该可以帮助暂时解决这个问题,但我会继续寻找 Yosemite R 包(因为它将适应 Apple 对文件系统结构所做的所有更改)。

    注意:在我的工作 Mac (Mavericks) 上,这个符号链接已经存在。

    【讨论】:

    • 感谢您的回复!尽管 .dylib 在这里:/opt/X11/lib/libXft.2.dylib /opt/local/lib/libXft.2.dylib 现在可以工作了!你能解释一下是什么问题吗?对文件系统进行了哪些更改?他们是为了好人吗?
    • @user3651816 我所有的系统现在都在 Yosemite 上,所以我不能轻易确认,但看起来 Apple 刚刚将 X11 从 /usr 移动到 /opt,而 R 预计它仍然位于/usr。如果可能的话,可能更好的解决方案是更新 R 的搜索路径以包含正确的目录(而不是这个 janky 符号链接修复),但我是 R 的相对新手,所以我不太确定自己会如何做到这一点.
    • 另一种方法是重新安装 XQuartz。 Apple 没有移动任何东西,它在安装过程中删除了一些东西(Apple 不再为 X11 提供 OS X,即使作为附加组件)。
    • 好发现!我要补充一点,至少在我的情况下,问题是在将 RStudio 更新到版本 0.98.1103 时开始的。以前我在优胜美地没有遇到任何问题。
    【解决方案2】:

    重新安装 XQuartz 对我有用。

    【讨论】:

    • 这也适用于我(截至 2017 年 8 月 31 日,macOS 10.12.6
    【解决方案3】:

    我添加了一个从 /usr/X11 到 /opt/X11 的符号链接,这解决了没有定位命令的问题。

    【讨论】:

      猜你喜欢
      • 2015-09-09
      • 2014-12-13
      • 2015-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多