【问题标题】:Conflicts between MacOS High Sierra and R packagesMacOS High Sierra 和 R 包之间的冲突
【发布时间】:2018-07-09 19:58:31
【问题描述】:

我正在运行 MacOS 10.13 (High Sierra),最近更新到 R 版本 3.4.3 和 R studio 版本 1.1.419。出于某种原因,rJava 包无法正常工作...在 stackoverflow 上尝试了几个修复,但没有任何效果。此外,摘要包不会加载,所以我不能再使用 ggplot2。有什么建议吗?

Java 错误:

    > library("rJava", lib.loc="/Library/Frameworks/R.framework/Versions/3.4/Resources/library")
Error: package or namespace load failed for ‘rJava’:
 .onLoad failed in loadNamespace() for 'rJava', details:
  call: dyn.load(file, DLLpath = DLLpath, ...)
  error: unable to load shared object '/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so':
  dlopen(/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so, 6): Library not loaded: @rpath/libjvm.dylib
  Referenced from: /Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so
  Reason: image not found

摘要包错误:

    > library("rJava", lib.loc="/Library/Frameworks/R.framework/Versions/3.4/Resources/library")
Error: package or namespace load failed for ‘rJava’:
 .onLoad failed in loadNamespace() for 'rJava', details:
  call: dyn.load(file, DLLpath = DLLpath, ...)
  error: unable to load shared object '/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so':
  dlopen(/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so, 6): Library not loaded: @rpath/libjvm.dylib
  Referenced from: /Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so
  Reason: image not found

【问题讨论】:

  • 请提供您收到的错误信息。
  • 第二条错误信息也是针对rJava,而不是针对digest
  • 您已经尝试过哪些解决方案,您正在运行什么版本的 Java?
  • 对不起....我复制并粘贴了错误的摘要代码。我会改的。
  • 感谢您的“摘要”解决方案,John M。这很有效。当我有一点时间时,我会更多地研究 Java 解决方案......

标签: r packages rjava macos-high-sierra


【解决方案1】:

新的 Mac OSX 版本有一个记录在案的问题,即在 R/RStudio 中弄乱 Java 路径(请参阅 here)。看起来这就是您在这里遇到的情况。

如果您查看我上面链接的问题,希望您能找到一个可以重置您的路径的解决方案;下面的两个命令都对我有用。

dyn.load('/Library/Java/JavaVirtualMachines/jdk1.8.0_66.jdk/Contents/Home/jre/lib/server/libjvm.dylib')

sudo ln -s $(/usr/libexec/java_home)/jre/lib/server/libjvm.dylib /usr/local/lib

【讨论】:

    【解决方案2】:

    我不知道rJava 的问题,但digest 刚刚更新,所以如果您尝试安装二进制文件,它可能尚未编译和构建。如果发生这种情况(有点竞争条件/滞后),您可以尝试重新安装表单源:

    install.packages("digest", type = "source")

    【讨论】:

      猜你喜欢
      • 2018-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-23
      • 1970-01-01
      • 2018-12-05
      • 2018-03-07
      相关资源
      最近更新 更多