2014-11-05 26 views
7

Đó là một cơn ác mộng thực sự để cài đặt rjava trên máy Mac của tôi.Cài đặt xlsx và rJava trên macOS Mavericks 10.9.5

thiết lập của tôi:

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

Thứ nhất, trong dòng lệnh tôi chạy

sudo R CMD javareconf 

Sau đó, tôi chạy bên trong R:

install.packages('rJava') 

Các lỗi vào cuối bản dịch là:

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’ 

Tôi đã thử Java 8 và java mặc định của Mac và cũng gặp lỗi tương tự.

Ideias?

+0

Tôi tin rằng tôi đã phải cài đặt báo tuyết xây dựng và nó hoạt động tốt – rawr

+0

tôi đã cố gắng rằng việc sử dụng phiên bản này : http://support.apple.com/kb/dl1573 nhưng tôi không thể cài đặt (máy Mac của tôi là 10.9.5) – Menthor

+0

'openxlsx' là một thay thế tốt đẹp không phụ thuộc vào Java. https://github.com/cran/openxlsx – James

Trả lời

1

Tôi đã gặp lỗi tương tự trên máy tính của mình (Mac OS 10.9.5, Java 1.8.0_11, R 3.1.1). Cài đặt Java JDK mới nhất từ ​​Oracle (1.8.0_25) không giải quyết được vấn đề (chưa). Tuy nhiên, sau khi cập nhật Java, việc cài đặt R 3.1.2 đã giải quyết được vấn đề cho tôi. Sau khi chạy install.packages("rJava"), công trình này:

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

Do lưu ý rằng việc cập nhật các JDK là một cái gì đó khác biệt so với phiên bản Java trong GUI Java Control Panel, truy cập thông qua các ưu đãi System. Cái sau chỉ là JRE cho plugin trình duyệt internet.

4

Những gì tôi đã làm (sử dụng macports R) là root (sudo bash):

  • chỉnh sửa /opt/local/Library/Frameworks/R.framework/Resources/etc/Makeconf và thay đổi dòng

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

    để

    LIBS = -llzma -lm -liconv 
    
  • cài đặt bản gốc 1.6 Mac Java

  • xuất khẩu JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

  • chạy R CMD javareconf

Bây giờ bạn có thể bắt đầu R và làm một install.packages("rJava"). Sử dụng phiên bản 1.6 của Java đã đảm bảo rằng RStudio cũng có thể tải gói rJava.

Nếu bạn không có kế hoạch sử dụng RStudio, bạn cũng có thể sử dụng Java 1.8

+0

đã làm việc cho tôi chỉ để thay đổi cờ trong 'Makeconf'file! Ngoài ra, bạn có thể cần chạy 'R CMD javareconf' bằng' sudo'. –

0

Tôi gặp vấn đề tương tự.Tôi đang sử dụng OS X Yosemite và bước đầu đã được cài đặt R qua homebrew

tôi thực hiện các bước sau để khắc phục nó:

  1. đóng tất cả các trường hợp của R
  2. Trong vỏ thiết bị đầu cuối của tôi, chạy sudo R CMD javareconf
  3. Khai trương lên R từ thiết bị đầu cuối của tôi và chạy:

    install_packages("rJava")

    install_packages("xlsx")

0

Sử dụng cũ Java SE 6 tôi đã có thể để có được rJava biên soạn bằng cách chạy javareconf như sau:

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

Tôi đã thực sự có thể tránh chỉnh sửa môi trường của tôi hoàn toàn bằng công nhị phân Mac để cài đặt rJava trên Macbook của tôi (chạy OSX Yosemite và phiên bản R 3.2.3). Thứ nhất, làm như sau trong R để cài đặt rJava:

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

lẽ độc lập điều này, đối với một số lý do tôi không thể cài đặt xlsx cho đến khi tôi lần đầu tiên cài đặt xlsxjars phụ thuộc. Vì vậy, hãy làm như sau trong R:

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

Và với hai lệnh này, xlsx dường như chỉ cài đặt trên mac!

1

này đã làm việc cho tôi:

sudo R CMD javareconf 

Sau đó, trong thông dịch R:

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

Tôi nhận được biên dịch thất bại cho rJava ở giai đoạn này: install.packages ('rJava', type = 'source') –

Các vấn đề liên quan