在macOS 10.14上rJava安装失败

Joh*_*nSG 2 r rjava macos-mojave

升级到MacOS Mojave(10.14.1)后,我不再能够安装rJavaJava版本“ 1.8.0_102”的R版本3.5.1。

我尝试了针对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
Run Code Online (Sandbox Code Playgroud)

Joh*_*nSG 6

发布我发现的解决方案以防其他人使用-我不太明白为什么可以这样做,或者如果它是正确的方法,那么寻找更好的替代方案!

这个问题导致这款苹果论坛在那里的说明

对于在/ 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
Run Code Online (Sandbox Code Playgroud)

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

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

sudo R CMD javareconf

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

并且它应该安装没有问题。