【发布时间】:2018-11-05 08:01:26
【问题描述】:
我已经在 R 中安装了 rJava 包,我还在我的 mac 上安装了 Java 64 位,但不知何故,当我尝试加载 rJava 包时,我不断收到错误消息。
library(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-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
我尝试了所有我能做的事情。
我试图插入sudo ln -f -s $(/usr/libexec/java_home)/jre/lib/server/libjvm.dylib /usr/local/lib
在终端中
我也试过Sys.setenv(JAVA_HOME='/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre')
dyn.load(paste0(system2('/usr/libexec/java_home',stdout = TRUE), '/jre/lib/server/libjvm.dylib'))
dir(paste0(system2('/usr/libexec/java_home',stdout=TRUE)))
但它们都不适合我 不断收到与上述相同的错误消息。 有人可以帮助我吗? 谢谢
【问题讨论】:
-
(a) 在终端提示符下,
R CMD javareconf显示什么(即将其输出粘贴到代码块中); (b)library(rJava)在终端的 R 控制台提示符下工作吗? (c) 如果 (b) 为真,那么故障是否仅在 RStudio 内部?