2017-08-02 99 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的首選方式)。