2017-08-02 97 views
1

以便我可以使用依赖于rJava的库。当我尝试加载rJava,我得到这个:未能在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.4/Resources/library/rJava/libs/rJava.so': 的dlopen(/库/ Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so,6):未加载库:@ rpath/libjvm.dylib 引用自:/Library/Frameworks/R.framework/Versions/ 3.4 /资源/库/ rJava /库/ rJava.so 原因:没有找到图片

于是我跑

sudo R CMD javareconf 

有了这个版本的Java:

java version "1.6.0_65" 
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-468-11M4833) 
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-468, mixed mode) 

得到以下错误:

trying to compile and link a JNI program 
detected JNI cpp flags : - 
I/System/Library/Frameworks/JavaVM.framework/Headers 
detected JNI linker flags : -framework JavaVM 
clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG - 
I/System/Library/Frameworks/JavaVM.framework/Headers - 
I/usr/local/include -fPIC -Wall -g -O2 -c conftest.c -o conftest.o 
conftest.c:4:5: warning: 'JNI_CreateJavaVM' is deprecated 
    [-Wdeprecated-declarations] 
JNI_CreateJavaVM(0, 0, 0); 
^ 
/System/Library/Frameworks/JavaVM.framework/Headers/jni.h:1937:1: note: 
    'JNI_CreateJavaVM' has been explicitly marked deprecated here 
JNI_CreateJavaVM(JavaVM **pvm, void **penv, void *args); 
+0

使用此帖,由MRbee,https://stackoverflow.com/questions/6492361/problem-loading-rjava该问题要么是缺乏Java,要么R找不到Java dll的路径。使用这些方向来设置你的路径! – sconfluentus

+0

在[这个SO问题](https://stackoverflow.com/questions/30738974/rjava-load-error-in-rstudio-r-after-upgrading-to-osx-yosemite)中的答案可能会有所帮助。 – eipi10

+0

我认为我的答案在这里更适合,因为它针对的是macOS,问题就是这样 – mko

回答

0

在MacOS上有使用Java,R和RStudio配置问题。一段时间以来,我一直在努力。

你可以找到一些信息在这里:R, Java, rJava and macOS adventures

在一般情况下,你必须确保正确设置Java,则需要启用了Java的JNI的支持,你必须确保使用Oracle的Java,而不是苹果的一个(至少对我来说,这是在macOS上使用Java的首选方式)。