rJava安装错误"无法从注册表中确定JAVA_HOME"

Eri*_*ric 28 java error-handling r rjava

我正在尝试使用以下命令加载rJava:

 library(rJava)
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

 Error : .onLoad failed in loadNamespace() for 'rJava', details:
   call: fun(libname, pkgname)
   error: JAVA_HOME cannot be determined from the Registry
 Error: package or namespace load failed for ‘rJava’
Run Code Online (Sandbox Code Playgroud)

我尝试用最新版本重新安装Java和R程序,但仍然遇到这些错误..我可以知道如何解决这个问题吗?非常感谢你!

Raj*_*gan 19

通常通过安装适合您正在使用的R版本(即64位R或32位R)的Java版本(即64位Java或32位Java)来解决此错误.此问题很容易影响Windows 7用户,因为他们可能安装了与他们使用的R版本不同的Java版本.

http://www.r-statistics.com/2012/08/how-to-load-the-rjava-package-after-the-error-java_home-cannot-be-determined-from-the-registry/


小智 7

通过安装相同版本的R和Java(即64位)并手动更新路径(即,

Sys.setenv(JAVA_HOME='C:/Program Files/Java/jre1.8.0_121') # for 64-bit version
Run Code Online (Sandbox Code Playgroud)

  • 这让我通过了这个错误,但现在我又遇到了另一个错误:“错误:‘rJava’的包或命名空间加载失败:‘rJava’的 loadNamespace() 中的 .onLoad 失败,详细信息:调用:inDL(x, as.logic) (本地),as.逻辑(现在),...)错误:无法加载共享对象” (2认同)

Pet*_*ter 6

在 Windows 10 下,首先检查您的(正在运行的)R 版本:

R.version
Run Code Online (Sandbox Code Playgroud)

如果您看到类似的内容x86_64,则需要 64 位版本的 Java。

只需下载并安装匹配的 Java 版本(https://java.com/en/download/manual.jsp)即可解决我的问题。无需重新安装 R(如其他用户的建议)。也无需path明确设置。


Tom*_*lek 5

R for Windows 安装程序默认安装 32 位和 64 位文件。重新安装 R 并取消勾选 32 位部分为我解决了这个问题。


小智 5

https://java.com/en/download/manual.jsp安装64位Java 。
然后在Windows cmd中运行
setx PATH "C:\Program Files\Java\jre1.8.0_211\bin\server;%PATH%"
(确保您的路径正确)。

然后在RStudio中运行
Sys.setenv(JAVA_HOME="")

现在,您应该能够运行rJava !!