Как я могу установить rJava для использования с 64bit R на 64-битном компьютере с Windows? - PullRequest
19 голосов
/ 03 февраля 2012

Я установил пакеты iplots и rjava.Когда я делаю эту библиотеку (iplots), я получаю следующую ошибку.У меня на компьютере установлен JDK.

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'

Ответы [ 3 ]

25 голосов
/ 03 февраля 2012

Ошибка говорит о том, что в вашем Реестре нет записи, которая сообщает R, где находится Java на вашем компьютере. Ваш реестр поврежден, но, скорее всего, вы не установили Java. Вы можете установить либо Java Runtime Environment, либо Java Development Kit.

(Вы можете скачать Java здесь.)

Если вы установили Java, попробуйте переустановить его. Это должно положить записи обратно в ваш реестр.

Если это не сработает, вы можете начать искать именно там, где R ищет ваши записи в реестре. Функция, которую rJava использует для поиска Java, находится в функции rJava :::. OnLoad. Внутри этой функции есть подфункция find.java. Я копирую содержимое здесь:

    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, установив его перед загрузкой библиотеки:

Sys.setenv(JAVA_HOME='C:\\Your\\Java\\Directory')
library(rJava)
2 голосов
/ 30 декабря 2015

Если, как и я, у вас нет прав администратора для установки 64-битной Java, просто откройте 32-битную версию R, и она должна нормально работать на вашем 64-битном ПК, так как часть проблемы, кажется, заключается в том, что функция библиотеки rJava вызывает встроенную Java функции / подпрограммы, которые могут быть предназначены только для 32-битного интерфейса с Excel / Windows и, возможно, слишком большой задачей в то время, чтобы все изменить.

0 голосов
/ 07 марта 2016

Ответ в ссылка разрешила мою проблему.

Перед разрешением я попытался добавить JAVA_HOME в среду Windows.Это решило эту ошибку, но создало другую проблему.Решение по приведенной выше ссылке решает эту проблему без создания дополнительных проблем.

...