Khi cài đặt rJava bằng install.packages("rJava")
lệnh, tôi gặp lỗi sau:
checking Java support in R... present:
interpreter : '/usr/bin/java'
archiver : '/usr/bin/jar'
compiler : '/usr/bin/javac'
header prep.: '/usr/bin/javah'
cpp flags : '-I/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../include -I/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../include/linux'
java libs : '-L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/amd64/server -L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/amd64 -L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../lib/amd64 -L -L/usr/java/packages/lib/amd64 -L/usr/lib64 -L/lib64 -L/lib -L/usr/lib -ljvm'
checking whether JNI programs can be compiled... yes
checking JNI data types... configure: error: One or more JNI types differ from the corresponding native type. You may need to use non-standard compiler flags or a different compiler in order to fix this.
ERROR: configuration failed for package ‘rJava’
Tôi đã cài đặt Java JDK và java -version
trả về như sau:
$ java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Khi Google tìm kiếm lỗi, tôi thấy rằng những người khác đang gặp vấn đề tương tự nhưng không tìm thấy giải pháp nào khác ngoài "cài đặt toàn bộ JDK, không chỉ JRE" mà tôi đã thực hiện.
Điều khác mà tôi đọc được là sudo R CMD javareconf
chạy khá vui vẻ mà không có lỗi.
Bất kỳ ý tưởng vấn đề của tôi là gì?
[[EDIT]] Đã vài tháng kể từ khi tôi gặp sự cố này. Ban đầu tôi đã giải quyết vấn đề này bằng cách chỉnh sửa các đường dẫn Java của mình, như được minh họa trong câu trả lời mà tôi đã đăng bên dưới. Gần đây tôi đã gặp phải vấn đề tương tự trên bản cài đặt Ubuntu mới. Tôi đã thử khuyến nghị của Dirk sử dụng apt-get để cài đặt gói rJava. Nó hoạt động hoàn hảo. Điều tôi không đánh giá cao ban đầu là việc cài đặt các gói bằng phương thức apt-get của Ubuntu về cơ bản khác với việc chỉ tải cùng một gói bằng install.packages () bên trong R. Các gói Ubuntu giải quyết một số vấn đề mà tôi không nhận ra hoặc đánh giá cao. .
readxl
nhưng để viết lại vào Excel thì tôi thích hơn openxlsx
. Không yêu cầu rJava.