【问题标题】:rJava installation fails on macOS 10.14rJava 安装在 macOS 10.14 上失败
【发布时间】:2018-11-27 14:59:58
【问题描述】:

升级到 MacOS Mojave (10.14.1) 后,我无法再为安装了 Java 版本“1.8.0_102”的 R 版本 3.5.1 安装 rJava

我尝试了previous solution for MacOS 10.11,但它仍然不起作用,出现此错误:

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.5/Resources/library/rJava/libs/rJava.so':
 dlopen(/Library/Frameworks/R.framework/Versions/3.5/Resources/library/rJava/libs/rJava.so, 6): Library not loaded: /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/lib/server/libjvm.dylib
 Referenced from: /Library/Frameworks/R.framework/Versions/3.5/Resources/library/rJava/libs/rJava.so
 Reason: image not found

【问题讨论】:

    标签: r rjava macos-mojave


    【解决方案1】:

    发布我找到的解决方案以防它对其他人有所帮助 - 我不太明白为什么会这样,或者它是否是正确的方法,所以寻找更好的替代方案!

    这个issue 导致this Apple forum 声明的地方

    对于在 /usr/include 下的基本系统中查找 macOS 标头的旧版软件,请安装位于以下位置的包文件:/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14。包

    为此,打开终端并运行这些命令

    cd /Library/Developer/CommandLineTools/Packages/
    open macOS_SDK_headers_for_macOS_10.14.pkg
    

    然后按照提示安装软件包。

    在此之后,在终端中,配置 rJava 并按照上一个答案进行安装

    sudo R CMD javareconf

    R -e "install.packages('rJava')"

    它应该可以毫无问题地安装。

    【讨论】:

    • 您可能还需要安装 CommandLineTools 目录。这可以使用 'sudo xcode-select --install' 来执行。
    • 感谢@PeterN.Steinmetz——我确实尝试过(按照其他链接)但没有成功......尽管我认为上述工作是必要的。
    【解决方案2】:

    安装 JDK 11.04 LTS 后,我在 Mojave 上的 R Studio 中遇到了同样的错误

    R 期待 Library not loaded: /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk

    尽管运行sudo R CMD javareconf,错误仍然存​​在

    因此我在finder中浏览到/Library/Java/JavaVirtualMachines/并将文件夹"jdk-11.0.4.jdk"重命名为"jdk-11.0.1.jdk"

    重新启动 R,library(rJava)library(xlsx) 现在都可以工作了。

    希望这对某人有所帮助

    【讨论】:

      【解决方案3】:

      我遇到了确切的问题。我通过以下方式解决了它:

      1. 安装latest version of Java(dmg 文件)

      2. 在 Studio 中安装 rJava:install.packages("rJava")

      3. 在终端:sudo mv jdk-12.0.1.jdk jdk-11.0.1.jdk

      否则Rstudio会出现如下错误:

      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.5/Resources/library/rJava/libs/rJava.so':
        dlopen(/Library/Frameworks/R.framework/Versions/3.5/Resources/library/rJava/libs/rJava.so, 6): Library not loaded: /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home/lib/server/libjvm.dylib
        Referenced from: /Library/Frameworks/R.framework/Versions/3.5/Resources/library/rJava/libs/rJava.so
        Reason: image not found
      
      1. 在工作室:library(rJava)

      2. rJava 应该已经加载没有问题。

      【讨论】:

      • 很高兴知道这行得通。我会有点担心覆盖 Java 的版本......大概有实际的差异。至少,我想知道您是否可以创建符号链接而不是实际重命名整个目录?
      【解决方案4】:

      当我尝试在我的 macOS(Mojave 版本)中安装“rJava”时遇到了同样的问题。

      我执行以下步骤来解决问题。

      R 版本:3.6.1

      问题:配置:错误:缺少一个或多个 Java 工具。 *** JDK 不完整!请确保您拥有完整的 JDK。 JRE 不够足够。

      解决方案:在终端中执行以下命令

      1. $ /usr/libexec/java_home -V
          Matching Java Virtual Machines (1):
              1.8.0_162, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk(your Java version)/Contents/Home
      
      1. $ export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home

      2. $ export PATH=$JAVA_HOME/bin:$PATH

      3. $ R CMD javareconf

      4. $ R --quiet -e 'install.packages("rJava", type="source", repos="http://cran.us.r-project.org")'

      【讨论】:

        猜你喜欢
        • 2020-12-29
        • 1970-01-01
        • 2021-01-20
        • 2020-03-31
        • 2015-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-09
        相关资源
        最近更新 更多