使R rjava在OSX El Capitan上运行



我在过去24小时内一直在阅读各种解决方案。他们对我不起作用。

我试图在R中安装一个软件包glmulti。它想要rJava

需要Java版本6(或IS 1.6)的版本,该版本是javaforosx 2015-001。我安装了它。然后,指令建议使用命令sudo R CMD javareconf重新配置R,我遇到了一个错误:

Java interpreter : /usr/bin/java
Java version     : 1.6.0_65
Java home path   : /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Java compiler    : /usr/bin/javac
Java headers gen.: /usr/bin/javah
Java archive tool: /usr/bin/jar
System Java on macOS
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 -I/usr/local/include/freetype2 -I/opt/X11/include    -fPIC  -Wall -mtune=core2 -g -O2  -c conftest.c -o conftest.o
conftest.c:1:10: fatal error: 'jni.h' file not found
#include <jni.h>

有很多页面暗示要做什么,但对我无济于事。

我看了看的建议http://conjugateprior.org/2014/12/r-java8-osx/并认为也许我应该从Oracle使用Java 8。也安装了。

奇怪的是,在安装Java 8之后,系统首选项上的Java控制面板页面说我有Java 1.8.0_121,而给出的路径为/Library/Internet Plug-ins/Javaappletplugin.plugin/contents/home/bin/java。

但是,如果我执行终端命令/usr/libexec/java_home,我得到

/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

,如果我做/usr/libexec/java_home -v 1.8,我会得到

Unable to find any JVMs matching version "1.8".
/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

其他人声称该命令应该给出1.8.0路径。

Oracle的测试网页我确实安装了1.8.0。命令java -version声称我正在运行

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)

毕竟,第一个问题似乎是如何保持jni.h

如果您需要更多信息,请询问。

在这里查看:

http://www.owsiak.org/?p=3671

您可以在那里找到有关如何在MacOS上处理R,Java和Rjava的详细说明。

您必须采取一些步骤才能使整个过程变得顺利。

与R和JNI!

玩得开心

最新更新