在macOS上安装xlsx和rJava Mavericks 10.9.5

问题描述:

它是在我的Mac上安装rjava的真正噩梦。在macOS上安装xlsx和rJava Mavericks 10.9.5

我的设置:

MacOS 10.9.5 
Java: 7u71 (64 bits dowloaded from Oracle site) 
R: R version 3.1.1 (2014-07-10) 

首先,在命令行我跑的

sudo R CMD javareconf 

然后,我在'r跑:

install.packages('rJava') 

在结束时的错误编译是这样的:

JavaVM -F/opt/local/Library/Frameworks/R.framework/.. -framework R -llzma -lm -liconv -licuuc -licui18n 
ld: library not found for -licuuc 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
make[2]: *** [libjri.jnilib] Error 1 
make[1]: *** [src/JRI.jar] Error 2 
make: *** [jri] Error 2 
ERROR: compilation failed for package ‘rJava’ 
* removing ‘/Users/costa/Library/R/3.1/library/rJava’ 

我试过Java 8和Mac默认的java,并且也得到了同样的错误。

Ideias?

+0

我认为我必须安装雪豹构建和正常工作 – rawr 2014-11-05 11:57:05

+0

我尝试使用此版本:http://support.apple.com/kb/dl1573但我无法安装(我的Mac是10.9.5) – Menthor 2014-11-05 21:08:16

+0

“openxlsx”是一个不依赖于Java的不错选择。 https://github.com/cran/openxlsx – James 2015-12-08 16:08:36

我在我的电脑上出现了相同的错误(Mac OS 10.9.5,Java 1.8.0_11,R 3.1.1)。从Oracle(1.8.0_25)安装最新的Java JDK并没有解决问题(但)。但是,更新Java之后,安装R 3.1.2解决了我的问题。运行install.packages("rJava")后,这个工程:

> library("rJava") 
> .jinit() # this starts the JVM 
> s <- .jnew("java/lang/String", "Hello World!") 
> .jcall(s,"I","length") 
[1] 12 

请注意,更新JDK是从Java版本不同的东西Java的GUI控制面板中,通过系统的喜好进行访问。后者仅用于互联网浏览器插件的JRE

我所做的(使用MacPorts的R)为根(sudo的庆典):

  • 编辑 /opt/local/Library/Frameworks/R.framework/Resources/etc/Makeconf 和改线

    LIBS = -llzma -lm -liconv -licuuc -licui18n 
    

    LIBS = -llzma -lm -liconv 
    
  • 安装原来的1.6 Mac Java

  • 出口 JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

  • 运行R CMD javareconf

现在你可以开始R和做install.packages("rJava")。使用1.6版本的Java确保RStudio也可以加载rJava软件包。

如果不使用RStudio计划,你也可以使用Java 1.8

+0

只为了改变'Makeconf'文件中的标志!另外,您可能需要使用'sudo'运行'R CMD javareconf'。 – 2017-07-24 15:20:57

我有同样的问题。我使用的是OS X Yosemite和最初有安装R 1至自制

我进行下面的步骤来解决这个问题:

  1. 关闭所有的R
  2. 在我的终端外壳的情况下,跑出sudo R CMD javareconf
  3. 从我的终端开辟了R和跑:

    install_packages("rJava")

    install_packages("xlsx")

使用旧的Java SE 6我能得到rJava运行javareconf如下编译:

JAVA_HOME=/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home \ 
JAVA_CPPFLAGS=-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers/ \ 
r CMD javareconf 

我实际上是能够通过使用Mac二进制避免编辑我的环境完全在我的Macbook上安装rJava(运行OSX Yosemite和R版本3.2.3)。首先,请执行下列操作中的R安装rJava:

install.packages("rJava", type = "mac.binary") 

想必此无关,因为某些原因,直到我第一次安装xlsxjars依赖我无法安装XLSX。 R:

install.packages(c("xlsxjars", "xlsx")) 

并且使用这两个命令,xlsx似乎在Mac上安装得很好!

这为我工作:

sudo R CMD javareconf 

然后,在R解释器:

install.packages('rJava', type='source') 
install.packages('xlsx', type='source') 
+0

在这个阶段,我得到了rJava的编译失败:install.packages('rJava',type ='source') – 2017-06-22 14:07:07