无法在 Big Sur 上安装 rJava

Cannot install rJava on Big Sur

在以下环境中:

我正在尝试 运行:

install.packages("rJava", type='source')

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

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’

我发现 this issue 似乎提出了类似的问题,但我不知道如何解决它。

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

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

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

  2. 使用来自 CRAN 的 rJava(即安装 binary 版本的 rJava - 不是源)

跟踪此问题的是#248