2017-11-02 8 views
1

여기 오류가 나는 얻을 :rJava는 R 3.4.2에서로드 맥 OS 시에라하지 않습니다 10.12.6

> library(rJava) 
Error: package or namespace load failed for ‘rJava’: 
.onLoad failed in loadNamespace() for 'rJava', details: 
    call: dyn.load(file, DLLpath = DLLpath, ...) 
    error: unable to load shared object '/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so': 
    dlopen(/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so, 6): Library not loaded: @rpath/libjvm.dylib 
    Referenced from: /Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so 
    Reason: image not found 

나는 해결책을 시도했습니다 .. 어떤 고유 한 문제를 의미하여이 없다 참조 here, herehere. 성공하지 못했습니다.

몇 가지 세부 정보 : 저는 R GUI를 사용하고 있지만 R 터미널을 통해 rJava를로드 할 수도 없습니다. 나는 또한 R에 rJava 어떤 문제가 없었어요 3.3.s

답변

1

당신은 여기에 두 가지 옵션이 있습니다

  1. 가 R의 이전 버전을 얻을 rJava의 미리 컴파일 된 버전을 사용을

  2. GET rJava 소스는 직접 rJava (가장 최근의 소스) 앱 스토어를 통해 볼 수 있습니다 엑스 코드와 그 소리의 내부에 포함되지 않은 일부 기능을 필요로하는

주를 컴파일합니다. rJava 패키지를 빌드 할 때 저급 수준의 작업을 수행해야합니다.

당신은 여기에서 자세한 지침 찾을 수 있습니다 http://www.owsiak.org/r-3-4-rjava-macos-and-even-more-mess/

당신이 R의 이전 버전을 사용하기로 결정한 경우,이 작업을 얻을 수있는 투쟁은 여전히,하지만 방법은 덜 할 : http://www.owsiak.org/r-java-rjava-and-macos-adventures/

+0

저는 R 3.3으로 다운 그레이드되어 잘 작동합니다. 하지만 차라리 이전 버전의 R을 사용하지 않아도됩니다. 두 번째 솔루션을 사용해 보겠습니다. –

+0

여기서 문제는 패키지의 바이너리 버전 (macOS 용)이 아직 공개되지 않았다는 것입니다. 그래서, 당신은 스스로 그것을 만들어야합니다. 그러나 프로세스를 조금 더 복잡하게 만드는 다른 제약이 있습니다. – mko

0

JAVA_HOME 경로가 다르다을 MAC OS의 다른 버전. 는 어떤 경우 /jre 폴더가 있고 /Home 감독이 직접 터미널에서 CD 명령으로 /server 폴더쪽으로 이동하고 쉽게 rJava 라이브러리를로드 할 수 있습니다 pwd 사본 java.home을 설정하는 전체 경로 사용을 사용 후 어떤 경우는 없습니다. 이것이 내가 문제를 해결할 수 있었던 방법입니다.

options("java.home"="/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/lib") 

Sys.setenv(LD_LIBRARY_PATH='$JAVA_HOME/server') 

dyn.load('/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/lib/server/libjvm.dylib') 

library(rJava)