【问题标题】:Installing `rJava` on MacOSX fails with "JDK is incomplete!..."在 MacOSX 上安装 `rJava` 失败并显示“JDK 不完整!...”
【发布时间】:2020-04-29 11:05:44
【问题描述】:

我正在尝试在我的 Mac 上安装 rJava,但收到以下错误消息:

[...]
checking whether javah was replaced by javac -h... no
configure: error: one or more Java tools are missing.

*** JDK is incomplete! Please make sure you have a complete JDK. JRE is *not* sufficient.
configure: error: ./configure failed for jri
ERROR: configuration failed for package ‘rJava’
* removing ‘/usr/local/lib/R/3.6/site-library/rJava’
Warning in install.packages :
  installation of package ‘rJava’ had non-zero exit status

但是,我有 javajavac,所以我没有只是有一个 JRE:

$ java -version
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_242-b08)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.242-b08, mixed mode)
$ javac -version
javac 1.8.0_242

然而,我对这条线有点困扰

JAVA_HOME        : /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/jre 

R CMD javareconf。因为它以jre结尾。那是我问题的一部分吗?

我已经做了一些谷歌搜索,但我没有找到太多。例如,https://github.com/s-u/rJava/issues/146 上的最后一条评论并不乐观。

我应该怎么做才能运行rJava

【问题讨论】:

  • 我相信 rJAVA 需要在操作系统中安装 Java。 MacOS 没有默认安装 Java。首先确保计算机上安装了 Java,然后重试。
  • Java 已安装在计算机上。这就是为什么$java -version$javac -version 不会给出错误消息的原因。
  • macOS 的哪个版本?您是否在“磁盘工具”中进行了通常的验证/修复以确保没有磁盘异常?另外,哪个版本的 R(3.6.?)?您使用的是纯 R 还是 RStudio 之类的 GUI?哪个版本的 rJava?
  • 看看这里:owsiak.org/r-java-11-and-making-sure-you-can-load-rjava - 你真的要坚持adoptopenjdk-8.jdk吗?如果您真的想这样做,请确保:export JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home,然后,export PATH=$JAVA_HOME/bin:${PATH}
  • @Oo.oO 不,我真的不需要特定版本的 Java。你会推荐哪一个?

标签: java r rjava


【解决方案1】:

正如错误所暗示的,它正在寻找JRE 作为您的JAVA_HOME。 只需将 JAVA_HOME 设置为指向 JDK,例如:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/

然后尝试安装rJava,如果安装成功,您可以在配置文件启动文件中添加导出。

【讨论】:

  • 我应该在哪个文件中写这个,以便命令行中的 R 和 Rstudio 都可以获取它?
  • 您可以在终端中尝试导出行,您正在安装rJava。一旦在 .profile 文件中确认它正在工作,具体取决于您使用的 shell。
  • 虽然在某些人看来设置JAVA_HOME 可能不是一个好主意,但这似乎可行。尽管如此,分配中不应有任何空格:export JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/ 有效
【解决方案2】:
  1. https://www.oracle.com/java/technologies/javase-jdk8-downloads.html下载并安装jdk-8u251-macosx-x64.dmg

  2. 设置 JAVA_HOME

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-17
  • 2014-10-06
  • 1970-01-01
  • 1970-01-01
  • 2013-05-10
相关资源
最近更新 更多