2012-11-15 12 views
5

rJava를로드하려고 할 때 오류가 발생합니다. JDK가 설치되었습니다. (내가 CentOS는 VM에 R을 실행 (클라우 데라 데모 VM cdh3u4))rJava를로드하는 중 오류가 발생했습니다.

> library(rJava) 

Error : .onLoad failed in loadNamespace() for 'rJava', details: 
    call: dyn.load(file, DLLpath = DLLpath, ...) 
    error: unable to load shared object '/home/cloudera/R/x86_64-redhat-linux-gnu-library/2.15/rJava/libs/rJava.so': 
    libjvm.so: cannot open shared object file: No such file or directory 
Error: package/namespace load failed for ‘rJava’ 

LD_LIBRARY_PATH 설정에 문제가 있습니까? 그렇다면 어떻게 해결할 수 있습니까? 나중에 rhdfs를 설치하려면 rJava가 필요합니다.

좀 더 정보 (필요한 경우) :

[[email protected] ~]$ java -version 
java version "1.6.0_31" 
Java(TM) SE Runtime Environment (build 1.6.0_31-b04) 
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode) 

답변

10

작업에 rJava 얻기는 컴퓨터 구성에 크게 의존한다. 다음은 최소한 windows 플랫폼에서 작동합니다. 이것이 플랫폼에서도 도움이되는지 확인해보십시오. R JDK/JRE :

  1. 당신은 사용 모두 동일 32 비트 또는 64 비트 버전이있다. 이것의 혼합물은 (적어도 나를 위해) 작동하지 않을 것이다.
  2. 64 비트 버전을 사용하는 경우 은 환경 변수로 JAVA_HOME을 설정하지 않았는지 확인하십시오. 이 변수가 설정되면 rJava는 어떤 이유로 작동하지 않습니다.

    Sys.getenv("JAVA_HOME") 
    

당신이 (당신이 받는다는 또는 뭔가 다른 것이 필요 예), 당신이 당신의 R-세션 내에서 비활성화 할 수 JAVA_HOME 설정이 필요합니다 경우 : JAVA_HOME이와 함께 R 내부에 설정되어 있는지 확인할 수 있습니다 rJava를로드하기 전에 다음 코드를 사용하십시오.

if (Sys.getenv("JAVA_HOME")!="") 
    Sys.setenv(JAVA_HOME="") 
library(rJava) 

대부분의 경우 트릭을 수행해야합니다. 또한 문제가 Using the rJava package on Win7 64 bit with R으로 수정 될 것입니다. 환경 변수를 R: rJava package install failing에서 해제하는 아이디어를 빌 렸습니다.

13

우분투의 경우 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 

(자바 버전에 따라 자바-7-Oracle 또는 자바-7-오픈 JDK - AMD64와 자바-8 오라클 교환)

을 그런 다음

:

sudo ldconfig 

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

+1

'rJava','RWeka','FSelector' 등의 설치 과정에서 나타나는 여러가지 에러로 인해 발생하는 모든 문제를 해결했습니다. 수천 "고마워요!" –

+1

이것은 rJava가 JVM을 찾지 못하는 진정한 해결책입니다. 나는 win7과 비슷한 문제로 씨름했다. 두 플랫폼 모두에서 문제가되었던 것은 서버 디렉토리입니다. –

+0

내 대답은 여기에 좀 더 자세한 설명을 찾을 수 있습니다 - http://stackoverflow.com/a/25932828/3409405 –

관련 문제