首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在64位Windows计算机上安装与64位R一起使用的rJava?

如何在64位Windows计算机上安装与64位R一起使用的rJava?
EN

Stack Overflow用户
提问于 2012-02-03 05:27:55
回答 4查看 37.9K关注 0票数 24

我安装了iplots和rjava包。当我执行这个库(Iplots)时,我得到以下错误。我的pc上确实安装了JDK。

代码语言:javascript
复制
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

错误:无法加载包‘rJava’

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-02-03 06:05:54

该错误告诉您,您的注册表中没有告诉R Java在您机器上的位置的条目。您的注册表可能已损坏,但更有可能的是您尚未安装Java。您可以安装Java Runtime Environment或Java Development Kit。

(You can download Java here.)

如果您安装了Java,请尝试重新安装。这应该会将这些条目放回注册表中。

如果这不起作用,您可以开始查看R在何处查找您的注册表项。rJava用来查找Java的函数在rJava:::.onLoad函数中。在该函数中有一个名为find.java的子函数。我将内容复制到这里:

代码语言:javascript
复制
    find.java <- function() {
        for (root in c("HLM", "HCU")) for (key in c("Software\\JavaSoft\\Java Runtime Environment", 
            "Software\\JavaSoft\\Java Development Kit")) {
            hive <- try(utils::readRegistry(key, root, 2), 
              silent = TRUE)
            if (!inherits(hive, "try-error")) 
              return(hive)
        }
        hive
    }

将其复制并粘贴到R窗口中,然后运行find.java()。rJava正在寻找JavaHome的条目。如果没有列出,那么它将从您的注册表中丢失。

您还可以通过在加载库之前设置Java位置的目录来手动设置该目录:

代码语言:javascript
复制
Sys.setenv(JAVA_HOME='C:\\Your\\Java\\Directory')
library(rJava)
票数 31
EN

Stack Overflow用户

发布于 2015-12-30 19:13:50

如果你像我一样没有安装64位Java的管理员权限,只需打开32位R,它应该可以在你的64位PC上正常工作,因为问题的一部分似乎是rJava库函数调用嵌入式Java函数/例程,这可能只是为32位接口设计的Excel/Windows,可能太大的任务,在时间上改变一切。

票数 3
EN

Stack Overflow用户

发布于 2016-03-07 20:12:55

link中的回答解决了我的问题。

在解析之前,我尝试将JAVA_HOME添加到windows环境中。它解决了此错误,但产生了另一个问题。上面链接中的解决方案解决了此问题,而不会产生其他问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9120270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档