我仍然无法安装和加载 rJava。我有 R 3.4.1('单蜡烛'); Java v 9 和 mac OS 10.12.6。
我按照列出的所有步骤 here其中包括使用终端编辑我的 ~/.profile 以包括:
导出 JAVA_HOME=$(/usr/libexec/java_home -v 9)
导出 PATH=$JAVA_HOME/bin:$PATH
并进行其他更改以将 R 连接到“正确的”Java。当我跑
sudo R CMD javareconf
但是,我收到一条错误消息,上面写着:
警告:不推荐使用“JNI_CreateJavaVM”
[-Wdeprecated-declarations]
JNI_CreateJavaVM(0, 0, 0);
^
/System/Library/Frameworks/JavaVM.framework/Headers/jni.h:1937:1:注意:
“JNI_CreateJavaVM”已在此处明确标记为已弃用
JNI_CreateJavaVM(JavaVM **pvm, void **penv, void *args);
^
生成 1 个警告。
当我运行时
R CMD 安装 rJava_0.9-8.tar.gz
一切顺利,直到我收到一条错误消息:
检查是否可以编译 JNI 程序...配置:错误:无法编译简单的 JNI 程序。有关详细信息,请参阅 config.log。
确保您已在 R 中安装并正确注册了 Java 开发工具包。
如果有疑问,请以 root 身份重新运行“R CMD javareconf”。
错误:包“rJava”的配置失败
来自上面链接的站点的 Michal 建议确保“/usr/libexec/java_home -v 9”“指向”JDK 而不是 JRE。我不知道该怎么做。另外,当我尝试类似的事情时:
回声 $JAVA_HOME
我得到:
/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home
我怎么知道这个 JDK 还是 JRE?
由于我的错误消息,我认为我有一个 JNI 问题,但我不确定如何开始处理该问题。任何有关使用 Michal 的教程可能出错的见解将不胜感激!
附言我最初的问题是在 R 中,试图加载库(rJava)并得到这个错误:
错误:“rJava”的包或命名空间加载失败:
.onLoad 在“rJava”的 loadNamespace() 中失败,详细信息:
调用:dyn.load(file, DLLpath = DLLpath, ...)
错误:无法加载共享对象'/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so':
dlopen(/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so, 6):库未加载:@rpath/libjvm.dylib
引用自:/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so
原因:找不到图片
最佳答案
我关注了这个 link , 尤其:
管理员帐号用户
在终端发出以下命令:
export JAVA_HOME=${JAVA_HOME:-$(/usr/libexec/java_home)}
export LIBJVM=$(find "${JAVA_HOME}" -name 'libjvm.dylib')
R CMD javareconf JAVA_LIBS="${LIBJVM}" JAVA_LD_LIBRARY_PATH="${LIBJVM}" JAVA_CPPFLAGS="'-I${JAVA_HOME}/include -I${JAVA_HOME}/include/darwin -I$(dirname "${LIBJVM}")'"
ln -fs "$LIBJVM" /Library/Frameworks/R.framework/Libraries
安装成功!
关于java - rJava、mac 10.12.6 和 Java v 9(R 版本 3.4.1)的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46415389/