无法在 Big Sur 上安装 rJava

des*_*esa 2 java r rjava

在以下环境中:

  • Mac OS:大苏尔
  • R:版本 4.0.3
  • Java:Java 版本“1.8.0_271”

我正在尝试运行:

install.packages("rJava", type='source')
Run Code Online (Sandbox Code Playgroud)

但是,它失败并出现以下错误:

clang -o libjri.jnilib Rengine.o jri.o Rcallbacks.o Rinit.o globals.o rjava.o  -dynamiclib -framework JavaVM -L/usr/local/opt/gettext/lib -L/usr/local/opt/readline/lib -L/usr/local/lib -L/usr/local/opt/gettext/lib -L/usr/local/opt/readline/lib -L/usr/local/lib -L/usr/local/Cellar/r/4.0.3/lib/R/lib -lR -L/usr/local/Cellar/pcre2/10.35/lib -lpcre2-8 -llzma -lbz2 -lz -licucore -ldl -lm -liconv
ld: framework not found JavaVM
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [libjri.jnilib] Error 1
make[1]: *** [src/JRI.jar] Error 2
make: *** [jri] Error 2
ERROR: compilation failed for package ‘rJava’
* removing ‘/usr/local/lib/R/4.0/site-library/rJava’
* restoring previous ‘/usr/local/lib/R/4.0/site-library/rJava’
Run Code Online (Sandbox Code Playgroud)

我发现这个问题似乎引发了类似的问题,但我不明白如何解决它。

如果您能帮助我理解安装失败的原因,我将不胜感激。

Sim*_*nek 7

Big Sur 目前不支持 JRI,因为 Apple 已经删除了 Java 支持的最后痕迹 - 这里是 JavaVM 框架,因此您有两个选择:

  1. --disable-jri从源(例如通过install.packages("rJava", configure.args="--disable-jri"))安装 rJava 时使用

  2. 使用 CRAN 中的 rJava(即,安装rJava的二进制版本 - 不是源代码)

跟踪此问题的问题是#248