如何在OSX上配置rJava以选择正确的JVM – .jinit()失败
我通过调用install.packages(“rJava”)来安装rJava – 没有遇到任何问题
但是当我打电话时:
library(rJava) .jinit()
我明白了:
JavaVM: requested Java version ((null)) not available. Using Java at "" instead. JavaVM: Failed to load JVM: /bundle/Libraries/libserver.dylib JavaVM FATAL: Failed to load the jvm library. Error in .jinit() : JNI_GetCreatedJavaVMs returned -1
我正在运行OSX:
Darwin MBP-2 14.5.0 Darwin Kernel Version 14.5.0: Tue Sep 1 21:23:09 PDT 2015; root:xnu-2782.50.1~1/RELEASE_X86_64 x86_64
我安装了以下Sun JDK:
$ ls /Library/Java/JavaVirtualMachines/ jdk1.7.0_79.jdk jdk1.8.0_65.jdk
哪个Java在我的路径上:
$ which java /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home//bin/Java
我也将JavaHome定义为:
$ echo $JAVA_HOME /Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/
https://stackoverflow.com/a/36045290/4351357上的答案在MacOS Sierra版本10.12上为我解决了这个问题。 特别是,它在下面的命令1中提供了代码。
我使用的三个终端命令是:
-
sudo ln -s $(/usr/libexec/java_home)/jre/lib/server/libjvm.dylib /usr/local/lib
-
sudo R CMD javareconf
-
install.packages("rJava",type='source')
此解决方案无法在Mac OS 10.11上加载R xlsx软件包
sudo R CMD javareconf install.packages("rJava",type='source')
为我工作
尝试在OSX 10.11.5(El Capitan)上运行此测试时http://www.r-bloggers.com/connecting-r-to-an-oracle-database-with-rjdbc/
我一直得到同样的错误。 我试图按照Tim Child的建议进行安装。 我注意到的是我的R Studio版本(版本0.99.896)一直在抱怨为OSX安装1.6 Legacy Java。
我从网站https://support.apple.com/kb/DL1572?locale=en_US安装了旧版Java
然后在R Studio中运行一个更简单的测试。
library(rJava) .jinit() print(.jcall("java/lang/System", "S", "getProperty", "java.version"))
我的结果:
> library(rJava) > .jinit() > print(.jcall("java/lang/System", "S", "getProperty", "java.version")) [1] "1.6.0_65"
很高兴看到我运行了我的另一个测试(然后是那个让我沿着这条路走下去的测试)。 我仍然无法设置最新的Java版本。
我又重新安装了rJava包
install.packages("rJava",type='source')
并且工作正常,现在使用Java 1.6版本,但至少我可以完成一些工作。 希望有些人遇到更好的修复:)
我在这个问题上挣扎了几个小时。 这里有一个关于rJava背景的非常好的主题: https ://groups.google.com/forum/#!topic / r-sig-make / eFSDrjphgGs
以下步骤最终为我工作:
(1)升级到最新的JDK
(2)在〜/ .bash_profile中设置以下环境变量:
export JAVA_HOME = $(/ usr / libexec / java_home)
export JAVA_CPPFLAGS = $(/ usr / libexec / java_home)/ include
(3)以root身份从源代码重新安装rJava:
sudo R CMD INSTALL rJava_0.9-8.tar.gz
(4)以root身份重新配置Java:
sudo R CMD javareconf
然后我可以正确安装依赖于rJava正确配置的其他库。