【发布时间】:2020-02-09 18:16:06
【问题描述】:
我正在尝试在 RStudio 中运行 rJava,但没有成功:
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.6/Resources/library/rJava/libs/rJava.so':
dlopen(/Library/Frameworks/R.framework/Versions/3.6/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.6/Resources/library/rJava/libs/rJava.so
Reason: image not found
使用 rJava 问题的通用解决方案,'sudo R CMD javareconf' 不起作用并给我这个输出:
Java interpreter : /usr/bin/java
Java version : 11.0.6
Java home path : /Library/Java/JavaVirtualMachines/jdk-11.0.6.jdk/Contents/Home
Java compiler : /usr/bin/javac
Java headers gen.: /usr/bin/javah
Java archive tool: /usr/bin/jar
trying to compile and link a JNI program
detected JNI cpp flags : -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/darwin
detected JNI linker flags : -L$(JAVA_HOME)/lib/server -ljvm
clang -I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I/Library/Java/JavaVirtualMachines/jdk-11.0.6.jdk/Contents/Home/include -I/Library/Java/JavaVirtualMachines/jdk-11.0.6.jdk/Contents/Home/include/darwin -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -I/usr/local/include -fPIC -Wall -g -O2 -c conftest.c -o conftest.o
clang-7: warning: no such sysroot directory: '/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk' [-Wmissing-sysroot]
In file included from conftest.c:1:
/Library/Java/JavaVirtualMachines/jdk-11.0.6.jdk/Contents/Home/include/jni.h:39:10: fatal error:
'stdio.h' file not found
#include <stdio.h>
^~~~~~~~~
1 error generated.
make: *** [conftest.o] Error 1
Unable to compile a JNI program
JAVA_HOME : /Library/Java/JavaVirtualMachines/jdk-11.0.6.jdk/Contents/Home
Java library path:
JNI cpp flags :
JNI linker flags :
Updating Java configuration in /Library/Frameworks/R.framework/Resources
Done.
之前有没有人遇到过这个错误并且知道如何解决它?
【问题讨论】:
-
我看到你正在运行一台 linux 机器。安装 rJava 有一些先决条件。运行这些命令。 "sudo apt-get install -y default-jre" "sudo apt-get install -y default-jdk" "sudo R CMD javareconf" 然后以 sudo 用户打开 R 并运行 'install.packages("rJava")' 退出RStudio 并再次打开。欲了解更多信息,请访问r-bloggers.com/installing-rjava-on-ubuntu
-
他在 Mac 上。你可以从
/Library/... -
R、Java和macOS是造成一团糟的因素 :) owsiak.org/r-3-4-rjava-macos-and-even-more-mess 同样,对于旧版本的R- owsiak.org/r-java-rjava-and-macos-adventures - 在你的情况下看起来您还没有安装XCode和Command Line Tools。您可以从App Store免费安装XCode。 -
当您使用 Java 11 时,我认为这可能是您的最佳选择:owsiak.org/r-java-11-and-making-sure-you-can-load-rjava