R : rJava 패키지 설치 실패


116

install.packages("rJava")명령을 사용하여 rJava를 설치할 때 다음 오류가 발생합니다.

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’

Java JDK가 설치되어 있고 java -version다음을 반환합니다.

$ java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)

오류를 검색 할 때 다른 사람들이 동일한 문제를 겪고 있지만 내가 한 "JRE뿐만 아니라 전체 JDK를 설치"하는 것 외에 다른 해결책을 찾지 못하는 것을 알 수 있습니다.

내가 읽은 또 다른 것은 sudo R CMD javareconf오류없이 아주 행복하게 실행 되는 실행 이었습니다 .

내 문제가 무엇인지 아이디어가 있습니까?

[[편집]] 이 문제가 발생한 지 몇 달이 지났습니다. 아래에 게시 한 답변에 설명 된대로 Java 경로를 편집하여 처음에이 문제를 해결했습니다. 최근에 새로운 Ubuntu 설치에서 동일한 문제가 발생했습니다. apt-get을 사용하여 rJava 패키지를 설치하라는 Dirk의 권장 사항을 시도했습니다. 완벽하게 작동했습니다. 처음에 내가 인식하지 못한 점은 Ubuntu apt-get 메소드를 사용하여 패키지를 설치하는 것이 R 내부에서 install.packages ()를 사용하여 동일한 패키지를로드하는 것과 근본적으로 다르다는 것입니다. Ubuntu 패키지는 내가 깨닫지 못하거나 감사하지 않은 몇 가지 문제를 해결합니다. .


답은 여기에서 찾을 수 있습니다 - stackoverflow.com/questions/12872699/...
Tejus 프라 사드에게

1
내 rstudio-server를 인식하기 위해 apt-get install을 가져 오기 위해 sudo R CMD javareconf를 실행해야한다는 내 미래의 자신에게 (이 질문에 의심 할 여지없이 자신을 되찾았을 때) 댓글을 달았습니다.
Jim Crozier 2014 년

2
9 년 후, 이것은 끝없는 문제입니다. R을 새로 설치할 때마다이 문제가 발생합니다. 뭔가 변경됩니다. OS, Rstudio 버전, R 버전, Java 버전, jdk, jre, jvm .... 그리고 항상이 문제를 해결하는 새로운 솔루션입니다. 이 모든 헛소리없이 엑셀 파일을 읽을 수 없다는 것은 우스꽝 스럽습니다.
rmf

@rmf 이제 Java가 필요하지 않은 Excel 읽기 패키지가 많이 있습니다. 내가 좋아하는 간단한 읽기의 경우 readxlExcel로 다시 쓰기를 선호합니다 openxlsx. 둘 다 rJava가 필요하지 않습니다.
JD Long

답변:


114

하지 않을

apt-get install r-cran-rjava

더 쉬웠습니까? useR 에서 저에게 물었을 수도 있습니다 ! :)


3
우분투와 데비안의 요점은 처음에 구글을 검색 할 필요가 없다는 것입니다. --- 적절한 패키지를 사용하여 "그냥 작동"해야합니다. 당신의 삶을 더 쉽게 만들고 가능한 한 패키지를 사용하십시오. Ubuntu의 Java 패키지도 사용했다고 가정합니다.
Dirk Eddelbuettel

16
더크, 내가 무슨 짓을했는지 아는 것처럼이 질문을하세요 내가 기억하면 apt-get을 사용하여 Java를 설치하는 데 문제가 있었기 때문에 소스에서 빌드했으며 이것이 아마도 내 문제의 소스 (모든 말장난) 일 것입니다. 물론 업장이 될 수도 있습니다.
JD Long

2
저는 R 2.15.3 우분투 12.04.2 64 비트를 사용하고 있습니다. update.packages()내가 얻을 때 나는 rJava update. R 내에서의 설치가 실패합니다. 나는 언제 apt-get install r-cran-rjava어떤 업데이트를 사용할 수있다. 왜 이런 일이 발생합니까?
ECII

1
@DirkEddelbuettel, 내 Red Hat 'sudo yum install r-cran-rjava'가 작동하지 않습니다. Loaded plugins : rhnplugin이 시스템은 RHN Classic 또는 RHN Satellite에서 업데이트를 받고 있습니다. 설치 프로세스 설정 사용 가능한 r-cran-rjava 패키지가 없습니다.
BigDataScientist 2014-06-25

1
@DirkEddelbuettel, '그냥 작동해야한다'는 접근 방식이 나에게는 훌륭하게 들리지만, r-cran-x에 너무 많은 패키지 만 나열되어 있다는 사실은 사람들이 '일반적인'R 방식 (install.packages)을 사용하는 이유입니다. 또한, R 3.x가 현재 주류이기 때문에 실제로 도움이되지 않는 cran을 통해 수행하는 것에 대한 조언을 받았습니다. r-cran-의 패키지는 R 3.x 이전에있는 것으로 보입니다
Richard

77

내 문제는 내 JAVA_HOME환경 변수의 문제였습니다 . 예, 충격적입니다. 내 초기에 설정 PATH하고 JAVA_HOME다음과 같이 보았다 :

export JAVA_HOME=/usr/lib/jvm/java-6-sun
export PATH=$PATH:$JAVA_HOME/bin

그리고 /jre이제 다음과 같이 추가 했습니다.

export JAVA_HOME=/usr/lib/jvm/java-6-sun/jre
export PATH=$PATH:$JAVA_HOME/bin

Java의 모든 것이 제대로 작동하는 것처럼 보였지만 /jrerJava는 그렇지 않습니다. 이상한.


5
질문-> 답변 무한 루프를 만들어 "스택 오버플로"의 진정한 의미를 유지합니다.
DrewConway

10
감사. 미래의 Google 사용자가 R 질문에 대한 답을 찾을 수 있도록 최선을 다하고 있습니다.
JD Long

11
JAVA_HOME 및 Java 실행 파일의 경로를 수정 한 후 R CMD javareconf. 그렇지 않으면 rJava 설치 프로세스에서 헤더 및 라이브러리 등의 이전 위치를 계속 볼 수 있습니다.
Carlos Macasaet 2014 년

1
나를 위해 일한 것이 없습니다. 일부 R Shiny 애플리케이션을 제공하는 Red Hat Linux 서버에 "rJava"를 설치하려고합니다. 다음 오류가 발생합니다. 'rJava'패키지 구성 실패 * '/ usr / lib64 / R / library / rJava'제거. 오류를 제거하는 과정에서 다음 단계를 수행했습니다. 1. Linux에서 업데이트 된 Java sudo yum install java-1.7.0-openjdk 2. HOME 및 PATH export JAVA_HOME = / usr / lib / jvm / java-1.7.0-ibm-1.7.0.6.1.x86_64 / jre 설정 export PATH = $ PATH : $ JAVA_HOME / bin 3. 재구성 된 Java sudo / usr / bin / R CMD javareconf
BigDataScientist 2014-06-25

예, 작동 8-oracle합니다. 대신 버전을 사용했습니다.
gunzapper 2015

21

감사합니다-에 대한 귀하의 제안은 $JAVA_HOME저를 비슷한 해결책으로 안내합니다.

prompt$ unset JAVA_HOME

R을 호출하기 전에.


1
JAVA_HOME 설정 해제 (달러 기호 없음)
Vladtn

1
예, 이것은 내 문제를 해결했습니다. 이유를 설명해 주시겠습니까? 감사합니다
MichaelZ 2015 년

JAVA_HOME을 설정 해제하고 CLASSPATH = $ CLASSPATH : / usr / lib64 / R / share / java를 설정합니다.
42n4


14

그것이 내가 작동하는 방법입니다.

Linux (Ubuntu 16.04)

sudo apt-get install default-jre
sudo apt-get install default-jdk
sudo R CMD javareconf

R에서 :

install.packages("rJava")

1
감사합니다 ... R에 rcdk라는 것을 설치해야했는데 'cos java가 작동하지 않았습니다. 해결 방법으로 문제가 해결되었습니다 (Ubuntu 18.04)
user1945827

도와 주셔서 정말 기쁩니다!
Jim Chen 19 년

11

이것은 Ubuntu 12.04 및 R 버전 3.0에서 저에게 효과적이었습니다.

cd /usr/lib/jvm/java-6-sun-1.6.0.26/include

이것은 jni.h가있는 디렉토리입니다.

다음으로 다른 필수 헤더 파일에 대한 소프트 링크를 만듭니다 (아래 JAVA_CPPFLAGS 옵션에 둘 이상의 디렉토리를 포함하는 방법을 찾기에는 너무 게으름) :

sudo ln -s linux/jni_md.h .

드디어

sudo R CMD javareconf JAVA_CPPFLAGS=-I/usr/lib/jvm/java-6-sun-1.6.0.26/include

1
sudo R CMD javareconf JAVA_CPPFLAGS=-I/usr/lib/jvm/java-6-sun-1.6.0.26/include나를 위해 문제를 해결했습니다.
Moustafa Alzantot

… 그리고 정확한 디렉토리가 아닌 echo $JAVA_HOME경우 추가하겠습니다 java-6-sun.
isomorphismes

7

아래는 다른 게시물에 대한 내 답변 중 하나입니다- 오류 : 지금 설치된 패키지를로드 할 수 없습니다
(이 질문과도 관련이 있습니다).

Linux (Ubuntu) 사용자 : oracle-java (7/8)가 설치되어있는 경우. 이 위치에 /usr/lib/jvm있으며 sudo액세스가 필요합니다.

/etc/ld.so.conf.d/java.conf다음 항목을 사용 하여 파일 을 만듭니다 .

/usr/lib/jvm/java-8-oracle/jre/lib/amd64
/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server

(Java 버전에 따라 java-8-oracle을 java-7-oracle로 대체하십시오)

그때:

sudo ldconfig

RStudio를 다시 시작한 다음 rJava 패키지를 설치합니다.


1
다양한 정도의 성공을 가진 여러 솔루션을 시도해 보았지만 이것은 복원력이있는 것처럼 보이는 첫 번째 솔루션입니다 (즉, R을 시작할 때마다 동일한 5 단계를 반복 할 필요가 없음).
SamWN

4

AMD64의 Gentoo에서 R을 실행합니다. R 2.12.0으로 업그레이드했습니다.

R 버전 2.12.0 (2010-10-15) Copyright (C) 2010 The R Foundation for Statistical Computing ISBN 3-900051-07-0 Platform : x86_64-pc-linux-gnu (64-bit) and that 성가신 메시지는 떨어져.

얀 반더 미어


2

openjdk-7- *를 설치하려고했지만 여전히 rJava를 설치하는 데 문제가있었습니다. 컴퓨터를 다시 시작하면 아무 문제가 없었습니다.

그래서

sudo apt-get install openjdk-7-*


RESTART after installing java, then try to install package "rJava" in R

2

rJava 패키지는 /usr/lib/jvm/default-java/ 폴더를 . 그러나 기본적으로 사용할 수 없습니다. 이 폴더에는 시스템에 구성된 기본 Java에 대한 심볼릭 링크가 있습니다.

기본 Java를 활성화하려면 다음 패키지를 설치하십시오.

sudo apt-get install default-jre default-jre-headless

CRAN R 3.4.1로 우분투 17.04에서 테스트되었습니다.


2

나를 위해 일한 것은 JAVA_HOME을 파일에서 변경하는 것입니다. /usr/lib/R/etc/javaconf

먼저 Java 버전이 무엇인지 확인했습니다 sudo update-alternatives --config java. 제 경우에는java-8-oracle

파일을 열고 다음으로 /usr/lib/R/etc/javaconf대체 default-java했습니다 java-8-oracle.

${JAVA_HOME=/usr/lib/jvm/default-java}

로 교체되다 :

${JAVA_HOME=/usr/lib/jvm/java-8-oracle}

그리고 sudo R CMD javareconf

RStudio를 다시 시작한 다음 rJava를 설치할 수 있습니다.


1

내가하는 일은 여기 :

  1. /etc/apt/sources.list에 다음을 추가하십시오.

    deb http://ftp.de.debian.org/debian sid main

참고 : rjava는 최신 버전이어야합니다.

2 실행 : sudo apt-get update sudo apt-get install r-cran-rjava

rjava의 이전 버전을 업데이트하면 rhdfs_1.0.8을 설치할 수 있습니다.



1

Windows 10을 사용하는 동안 동일한 문제가 발생했습니다. 다음 절차를 사용하여 문제를 해결했습니다.

  1. https://java.com/en/download/windows-64bit.jsp 에서 64 비트 Windows 용 Java 다운로드 \ 설치
  2. https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 에서 64 비트 Windows 용 Java 개발 키트를 다운로드 \ 설치
  3. 그런 다음 바탕 화면 \ 속성 \ 고급 시스템 설정 \ 고급 \ 환경 변수 \ 시스템 변수에서 "이 PC"아이콘을 마우스 오른쪽 버튼으로 클릭합니다. 경로 \ 편집 클릭 \ 새로 만들기 \ 복사를 클릭하고 경로 "C : \ Program Files \ Java \ jdk1 .8.0_201 \ bin "및"C : \ Program Files \ Java \ jre1.8.0_201 \ bin "(따옴표 제외) \ OK \ OK \ OK

참고 : jdk1.8.0_201 및 jre1.8.0_201은 Java 개발 키트 및 Java 버전에 따라 변경됩니다.

  1. 환경 변수 창에서 사용자에 대한 사용자 변수로 이동 \ 새로 만들기 \ 변수 이름을 "JAVA_HOME"으로 입력하고 변수 값을 "C : \ Program Files \ Java \ jdk1.8.0_201 \ bin"으로 \ 확인을 누릅니다.

설치를 확인하려면 CMD \ Type javac \ Enter를 열고 java \ press Enter를 입력하십시오. 여기에 이미지 설명 입력

RStudio에서 실행

Sys.setenv(JAVA_HOME="C:\\Program Files\\Java\\jdk1.8.0_201")

참고 : jdk1.8.0_201은 Java 개발 키트 버전에 따라 변경됩니다.

이제 아무 문제없이 rJava 패키지를 설치하고로드 할 수 있습니다.


0

문제는 rJava가 RStudio( Version 1.0.136)에 설치되지 않는다는 것 입니다. 다음은 나를 위해 일했습니다 ( macOS Sierra version 10.12.6) ( 여기 에서 찾았 습니다 ).

1 단계 : 여기javaforosx.dmg 에서 다운로드 및 설치

2 단계 : 다음으로 RStudio 내부에서 명령을 실행합니다.

install.packages("rJava", type = 'source')

-2

Ubuntu 16.04에서 유사한 문제가 발생했으며 "default-java"라는 폴더를 만들고 .NET Framework의 /usr/lib/jvm모든 내용을 복사 하여 해결할 수있었습니다 /usr/lib/jvm/java-8-oracle. JAVA_HOME 환경 변수를 수정하는 것이 쓸모없는 것으로 판명 되었으므로이 솔루션을 선택했습니다.


1
default-jre패키지 설치 가 중단됩니다 .
구스타보 가르시아
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.