rJava jdk不一致性

时间:2019-02-12 23:25:27

标签: java r rstudio rjava

我正在运行Mac High Sierra 10.13.6,R版本3.5.2。在R控制台中安装后,我无法加载我的rJava软件包。

在R中,先运行install('rJava'),然后运行库(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.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-11.0.1.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

我知道我的jdk应该具有相同的版本,所以我已进行了此修复,但是由于某种原因,删除的jdk-11.0.1.jdk会在错误消息中不断弹出。

此外,我已经在我的.bash_profile中编写了此代码:

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home"

在终端中运行/ usr / libexec / java_home时,输出位置相同。

最后,我在终端中多次运行了sudo R CMD javareconf。这是它的输出:

Password:  
Java interpreter : /usr/bin/java  
Java version     : 1.8.0_201  
Java home path   :  /Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre  
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
/usr/local/Cellar/gcc@5/5.5.0_2/bin/gcc-5 - 
I"/Library/Frameworks/R.framework/Resources/include" -DNDEBUG -I/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/../include -I/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/../include/darwin  -I/usr/local/include   -fPIC  -Wall -g -O2  -c conftest.c -o conftest.o
/usr/local/Cellar/gcc@5/5.5.0_2/bin/gcc-5 -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/Cellar/gcc@5/5.5.0_2/lib -o conftest.so conftest.o -L/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre/lib/server -ljvm -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
ld: warning: text-based stub file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation.tbd and library file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation are out of sync. Falling back to library file for linking.


JAVA_HOME        :  
/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home/jre  
Java library path: $(JAVA_HOME)/lib/server  
JNI cpp flags    : -I$(JAVA_HOME)/../include -I$(JAVA_HOME)/../include/darwin  
JNI linker flags : -L$(JAVA_HOME)/lib/server -ljvm  
Updating Java configuration in /Library/Frameworks/R.framework/Resources  
Done.  

任何帮助都是有价值的。谢谢!

0 个答案:

没有答案