rJava로 인해 R에서 패키지를로드하려고 할 때 발생하는 문제


93

R require(xlsx)에서 패키지를로드하기 위해 입력 xlsx하면 다음 메시지가 표시됩니다.

> require(xlsx)
Loading required package: xlsx
Loading required package: xlsxjars
Loading required package: rJava
Error : .onLoad failed in loadNamespace() for 'rJava', details:
  call: fun(libname, pkgname)
  error: JAVA_HOME cannot be determined from the Registry
Failed with error:  ‘package ‘rJava’ could not be loaded’

rJava패키지를 수동으로 로드하려고했지만 다음과 같은 오류 메시지가 나타납니다.

require(rJava)
Loading required package: rJava
Error : .onLoad failed in loadNamespace() for 'rJava', details:
  call: fun(libname, pkgname)
  error: No CurrentVersion entry in Software/JavaSoft registry! Try re-installing Java and make sure R and Java have matching architectures.

문제 해결 방법에 대한 제안이 있습니까?


4
설치하려고합니다 rJava... 읽기
agstudy

6
어떤 플랫폼? Windows라면 이것이 도움 될 수 있습니다.
dardisco

또한 문제가 발생하면 먼저 .xlsx 파일을 csv에 저장 한 다음 .xlsx 파일을 읽는 대신 read.csv를 사용할 수 있습니다.
generic_user

2
마지막으로 나열된 답변 (현재 16 표)이 문제를 해결했다면 해당 답변을 수락 된 것으로 표시하십시오.
Slak

나도이 문제를 만났지만 Hadley Wickham의 readxl패키지를 사용하여 우회했습니다 . 여기에 대한 더 많은 논의 -r에 libraryxlsx를 설치할 수없고 대안을 찾을 수 없습니다.
Ben

답변:


125

그 이유는 아마도 64 비트 OS 및 R 버전을 사용하고 있지만 동일한 아키텍처로 Java를 설치하지 않았기 때문일 수 있습니다 . 다음 페이지에서 Java 64 비트를 다운로드해야합니다. https://www.java.com/en/download/manual.jsp

그 후에 xlsx패키지 를 다시로드하십시오 . R을 다시 시작할 필요가 없습니다.


2
(+1) R의 메시지 가이 문제를 완전히 지적하고 있는지는 모르겠지만, 나에게는 그랬 습니다! 확실히 확인하실 수 있습니다. 64 비트 OS 및 64 비트 R을 실행중인 경우 명령 줄을 실행하고 java -d64 version. 64 비트 Java를 사용하는 경우 시스템 경로 문제 일 수 있습니다.
AdamO

3
그랬어 java -d64 -version?
Harrison

8

Java 버전 (32 비트 / 64 비트) 중 하나가 컴퓨터에 없기 때문입니다. Jdk를 모두 설치하고 코드를 실행하십시오.
Jdks를 설치 한 후 R을 열고 코드를 입력하십시오.

system("java -version")

그러면 설치된 Jdk 버전이 제공됩니다. 그런 다음 rJava 패키지를로드 해보십시오. 이것은 나를 위해 일했습니다.


8

저에게 효과가 있었던 비슷한 문제가 JAVA_HOME을 설정하는 것입니다. R에서 먼저 피곤했습니다.

Sys.setenv(JAVA_HOME = "C:/Program Files/Java/jdk1.8.0_101/")

그리고 실제로 작동했을 때 새 시스템 변수를 추가하여 시스템 속성-> 고급-> 환경 변수에서 설정했습니다. 그런 다음 R / RStudio를 다시 시작했고 모든 것이 작동했습니다.


4

비슷한 문제가있었습니다. 종속 패키지 'rJava'로 인해 발생합니다. 이 문제는 R을 다른 JAVA_HOME.

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

이것은 나를 위해 일했습니다.


4

RStudio에서이 오류가 발생하면 위의 Lauren의 환경 코드를 사용하고 도구, 전역 옵션에서 R 버전을 32 비트 버전으로 변경합니다. 최신 버전이있는 경우 32 비트 및 64 비트 R 옵션이 모두 있어야합니다. R을 다시 시작해야하며 메모리 옵션이 제한됩니다. 하지만 64 비트 버전의 jre를 설치할 필요는 없습니다.



2

같은 문제가 있었기 때문에 해결 방법을 찾은 것 같습니다!

내 수정 사항은 32 비트 및 64 비트 JRE (Java Runtime Environment) 버전 8 업데이트 181을 모두 설치하는 것이 었습니다 (다른 응용 프로그램에는 32 비트가 필요하지만 64 비트를 자체적으로 다시 설치할 수도 있습니다.)


1

링크의 답변으로 문제가 해결되었습니다.

해결하기 전에 JAVA_HOME을 Windows 환경에 추가해 보았습니다. 이 오류는 해결되었지만 다른 문제가 발생했습니다. 위 링크의 솔루션은 추가 문제를 만들지 않고이 문제를 해결합니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.