"Error : .onLoad failed in loadNamespace() for 'rJava', details:"
이 문제가 발생하는 이유부터 찾아야 하는데
나같은 경우엔 다음의 밑줄 순서에서 에러가 발생했다.
1. openjdk 11이 이미 설치 되어 있었음.
2. java-8-oracle을 자동설치. (Y를 누르며 설치함)
3. (Error Occured) !!! library(rJava) 시 에러 발생.
이 에러의 원인은 Java path 가 꼬였기 때문이다.
그러면 Java Path 를 해결하기 위해 어떻게 해야하나?
포인트는 총 3개가 되는 것으로 보인다.
Level 1 : 자동 재설정으로 path를 수정할 수 있다.
다음의 명령어를 수행하면 된다.
$sudo R CMD javareconf
Level 2 : 위와 같은 방법으로 되지 않았을 경우 R 내에서 강제로 Path를 지정해 줄 수 있다.
Sys.getenv() 로
J2REDIR /usr/lib/jvm/default-java
J2SDKDIR /usr/lib/jvm/default-java
JAVA_HOME /usr/lib/jvm/default-java
내가 원하는 Path가 맞는지 확인해보고
아래 처럼 원하는 것으로 설정해준다. (아래의
Sys.setenv(JAVA_HOME='/usr/lib/jvm/java-11-openjdk-amd64') #/usr/lib/jvm/java-8-oracle
Sys.setenv(J2REDIR='/usr/lib/jvm/java-11-openjdk-amd64') #/usr/lib/jvm/java-8-oracle
Sys.setenv(J2SDKDIR='/usr/lib/jvm/java-11-openjdk-amd64') #/usr/lib/jvm/java-8-oracle
# 경우에 따라 DERBY_HOME 설정이 필요한 사람도 있을 수 있다.
Level 3 : 위에서도 해결이 안된다면 System Path를 강제로 수정해줘야한다.
위에서 해결이 되는 경우에도 R특정 명령어를 사용할때 제대로 수행이 안될 수 있으므로 결국엔 System Path를 수정하는 쪽을 추천한다.
수정해야할 포인트는 크게 두 곳이다.
$sudo vim /etc/environment
$sudo vim /etc/profile.d/jdk.sh
두 곳에서 본인과 관련 있는 Path는 모두 수정하면 된다. (수정 내용은 위의 자료들 또는 외부 사이트를 참고하길 바란다.)
수정후 $source filename 명령어 치는 것을 잊지는 말자.
'정리 > IT공부' 카테고리의 다른 글
Chrome 원격 관리자 권한 제어권 문제 해결 방법 (확실하지 않음) (0) | 2021.12.07 |
---|---|
stat_count() must not be used with a y aesthetic. (0) | 2018.11.11 |
외장하드에서 vmware linux 이용시 에러 (0) | 2015.10.30 |
[Android] http 개발API 와 Android API 버전에 따른 문제 (0) | 2015.10.07 |
속도 측정 원리에 대해 (0) | 2015.10.06 |