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

59

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

 library(rJava)

但是我得到了以下错误:

 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’

我尝试重新安装最新版本的Java和R程序,但仍然出现这些错误...请问我该如何解决?非常感谢!

11个回答

40

25

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了!!


15

我通过安装相同版本的R和Java(即64位版本),并手动更新路径解决了相同的错误,即:

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

2
这让我解决了之前的错误,但现在我又遇到了另一个错误:"Error: package or namespace load failed for ‘rJava’: .onLoad failed in loadNamespace() for 'rJava', details: call: inDL(x, as.logical(local), as.logical(now), ...) error: unable to load shared object" - mikey

6
在Windows 10下,首先检查您正在运行的R版本:
R.version

如果您看到类似于 x86_64 这样的内容,则需要使用 64 位版本的 Java。
只需下载并安装相匹配的 Java 版本(https://java.com/en/download/manual.jsp),问题就会得到解决。无需重新安装 R(如其他用户在此处建议的那样)。也不需要显式设置 path

5

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


4

如上所述的r-statistics链接中提到,您需要手动下载64位版本的Java。否则,将安装32位版本。

因此,如果您有64位操作系统,请确保R和Java都使用64位安装程序。否则,这个问题将继续存在。


3

这个问题困扰了我很久,我尝试了多种方法,但都不起作用。最终,我将所有解决方案混合在一起并找到了以下步骤。

  1. 安装64位Java
  2. 在Windows命令中运行以下代码
    setx PATH "C:\Program Files\Java\jre1.8.0_171\bin\server;%PATH%"
    (请根据您的dvm.dll实际地址更改地址)
  3. 在R Studio中运行以下代码
    Sys.setenv(JAVA_HOME="")
    然后我终于可以运行以下代码
    library(rJava)
    library(xlsx)

2

我曾经遇到过同样的问题,因为无法完成分析而感到非常沮丧。以下方法对我有效:

  1. 检查你的操作系统是64位还是32位。 https://helpx.adobe.com/x-productkb/global/determine-whether-computer-running-32.html

  2. 卸载之前的Java版本。

  3. 从Doc>R>win-library中删除rJAVA库。如果你有多个版本的R,请确保从所有版本中删除rJAVA包。

  4. 根据系统要求安装Java(64位或32位)。

  5. 最后,在安装rJava包之前和之后重新启动R。


1

0
如果 R 是 64 位版本,请确保安装 Java 64 位版本!
如果 R 是 x86 位版本,请确保安装 Java x86 位版本!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接