我通过调用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/
答案 0 :(得分:9)
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')
答案 1 :(得分:6)
此解决方案Cannot load R xlsx package on Mac OS 10.11
sudo R CMD javareconf
install.packages("rJava",type='source')
为我工作
答案 2 :(得分:1)
尝试在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)一直抱怨安装1.6 Legacy Java for OSX。
我从网站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版本,但至少我可以完成一些工作。希望有些人遇到更好的解决办法:)
答案 3 :(得分:0)
我在这个问题上挣扎了几个小时。这里有一个关于rJava的一些非常好的主题: https://groups.google.com/forum/#!topic/r-sig-mac/eFSDrjphgGs
以下步骤最终为我工作:
(1)升级到最新的JDK
(2)在〜/ .bash_profile中设置以下环境变量:
export JAVA_HOME = $(/ usr / libexec / java_home)
导出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的其他库。
答案 4 :(得分:0)
这对我有帮助:
sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/jre/lib/server/libjvm.dylib /Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/lib/libserver.dylib