2014-11-05 111 views
7

它是在我的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

回答

1

我在我的電腦上出現了相同的錯誤(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

4

我所做的(使用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

0

我有同樣的問題。我使用的是OS X Yosemite和最初有安裝R 1至自制

我進行下面的步驟來解決這個問題:

  1. 關閉所有的R
  2. 在我的終端外殼的情況下,跑出sudo R CMD javareconf
  3. 從我的終端開闢了R和跑:

    install_packages("rJava")

    install_packages("xlsx")

0

使用舊的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 
1

我實際上是能夠通過使用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上安裝得很好!

1

這爲我工作:

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