macOS환경의 R에서 rJava가 정상적으로 로드되지 않는 문제 해결
Overview
macOS환경의 R에서 rJava가 정상적으로 로드되지 않는 문제를 해결하는 문서
사용된 환경
OS : macOS Catalina 10.15(19A583)
R : 3.6.1
R Studio : 1.2.5001
JDK : 11.0.1
기준 일자 : 2019-10-10
이슈
R에서 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.6/Resources/library/rJava/libs/rJava.so':
dlopen(/Library/Frameworks/R.framework/Versions/3.6/Resources/library/rJava/libs/rJava.so, 6): Library not loaded: /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home/lib/server/libjvm.dylib
Referenced from: /Library/Frameworks/R.framework/Versions/3.6/Resources/library/rJava/libs/rJava.so
Reason: image not found
해결
우선 MAC OS :: tm 및 KoNLP 로딩오류 문제의 문서를 따라 해결 한다.
위의 문서에서 해결이 안되었을 경우, 에러 메시지에서 요구하는 JDK 11.0.1을 설치하여 PATH에 등록한 후 사용한다.
JDK 11.0.1은 이곳에서 다운받을 수 있다.
설치 후 다음 세팅을 마무리 한다.
- R Studio 콘솔에서 다음 코드를 입력한다.
Sys.setenv("JAVA_HOME" = '/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home') dyn.load('/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home/lib/server/libjvm.dylib')
Sys.getenv()
명령어를 통해 JAVA_HOME 경로가 잘 들어갔는지 확인한다.- Terminal에서 다음 명령어를 입력한다.
sudo R CMD javareconf
- 콘솔창에
Yes, No
선택하는 문장이 나오면Yes
를 선택하고 넘어간다. library(rJava)
를 입력하고.jinit()
을 입력하여 정상적으로 로드되는지 확인한다.