rJava 安装错误 "JAVA_HOME cannot be determined from the Registry"

rJava install error "JAVA_HOME cannot be determined from the Registry"

我正在尝试使用以下命令加载 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 程序 但仍然出现这些错误.. 我可以知道如何解决这个问题吗?非常感谢!

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

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

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

如上文引用的r-statistics link中所述,您必须手动下载Java的64位版本。如果没有,则安装32位版本。

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

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

解决了同样的错误
Sys.setenv(JAVA_HOME='C:/Program Files/Java/jre1.8.0_121') # for 64-bit version

这让我很难受,我已经尝试了上面的多种方法,但都没有用。之后,我混合了所有的解决方案来尝试下面的过程对我有用。

  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)

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

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

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

我遇到了同样的问题,并且因为无法完成分析而感到非常沮丧。 这对我有用:

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

  2. 卸载以前版本的 Java。

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

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

  5. 最后在安装 rJava 包前后重启 R。

在Windows10下,首先检查你的(运行)R-Version:

R.version

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

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

您可以将 INSTALL_opts=c("--no-multiarch") 添加到您的 install_github() 通话中: devtools::install_github("mne-tools/mne-r", INSTALL_opts=c("--no-multiarch"))

更多信息:https://github.com/mne-tools/mne-r/issues/5#issuecomment-489588267

  1. 在 C: 驱动器中创建一个新目录作为“库”

  2. 设置你的libPath这个目录。你需要输入

    .libPath("C:/library")

  3. 重新安装需要 java 的软件包(xlsx、rJava、RJDemetra)

  4. 它会再次给出错误信息,但它会起作用。