Подтвердить что ты не робот

Невозможно загрузить rJava на R

Я хочу загрузить rJava в R x64 3.1.2. OS-Windows 8.1 64 бит

Хотя установка работает нормально:

  > install.packages("rJava")
    Installing package into ‘C:/Users/sony/Documents/R/win-library/3.1’
    (as ‘lib’ is unspecified)
    --- Please select a CRAN mirror for use in this session ---
    trying URL 'http://cran.utstat.utoronto.ca/bin/windows/contrib/3.1/rJava_0.9-6.zip'
    Content type 'application/zip' length 758898 bytes (741 Kb)
    opened URL
    downloaded 741 Kb

package ‘rJava’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
        C:\Users\sony\AppData\Local\Temp\RtmpamYUH7\downloaded_packages

Я получаю сообщение об ошибке при загрузке пакета:

library(rJava)
Error in get(Info[i, 1], envir = env) : 
  lazy-load database 'C:/Users/sony/Documents/R/win-library/3.1/rJava/R/rJava.rdb' is corrupt
In addition: Warning message:
In get(Info[i, 1], envir = env) : internal error -3 in R_decompress1
Error: package or namespace load failed for ‘rJava’

Я знаю, что я работаю над R-64 бит, и в то же время переменная среды Path имеет значение:

C:\Program Files\Java\jdk1.7.0_51\bin;C:\Program Files\Java\jre7\bin\server;

также, поэтому версия Java тоже 64-битная. Я не понимаю причину ошибки.

При ручной настройке через R:

options(java.home="C:\\Program Files\\Java\\jdk1.7.0_51\\bin")
library(rJava)

Я получаю эту ошибку:

enter image description here

Error : .onLoad failed in loadNamespace() for 'rJava', details:
  call: inDL(x, as.logical(local), as.logical(now), ...)
  error: unable to load shared object 'C:/Users/sony/Documents/R/win-library/3.1/rJava/libs/x64/rJava.dll':
  LoadLibrary failure:  The specified module could not be found.

Error: package or namespace load failed for ‘rJava’

Любые советы? Кажется, что ошибка возникла после того, как я удалил старую версию Java.

ПРОЧЕЕ: Также, чтобы добавить, я не устанавливаю JAVA_HOME в качестве переменной среды.

Удаление и переустановка R также, похоже, не устраняет проблему.

Удаление старых java-версий тоже не поможет.

4b9b3361

Ответ 1

Использование:

Sys.setenv(JAVA_HOME='...path to JRE...')

например.

Sys.setenv(JAVA_HOME='C:\\Program Files\\Java\\jdk1.7.0_51\\jre')

Неправильная переменная среды.

Ответ 2

Я получил аналогичную ошибку:

> library(rJava)
Error : .onLoad failed in loadNamespace() for 'rJava', details:
  call: inDL(x, as.logical(local), as.logical(now), ...)
  error: unable to load shared object 'C:/program files/R/R-3.1.2/library/rJava/libs/x64/rJava.dll':
  LoadLibrary failure:  The specified module could not be found.

Мой JAVA_HOME указывал на JDK, а не на JRE.

> Sys.getenv("JAVA_HOME")
[1] "c:\\java\\jdk1.7.0_55"
> Sys.setenv(JAVA_HOME="c:\\java\\jdk1.7.0_55\\jre")

Теперь я мог загружать rJava и xlsx в R.

Ответ 3

Я получаю эту ошибку каждый раз, когда Java переполняет обновление на моем ПК. Когда я иду:

Sys.getenv("Path")

Я нахожу что-то в выходе, которое выглядит как

C:\\Program Files \\Java\\jre1.8.0_112\\bin\\server\\

где последние несколько цифр подпапки jre устарели.

Чтобы исправить это повсюду, вы можете отредактировать переменную среды Windows. Сделайте это, перейдя в WINDOWS + X, выбрав Командная строка (Admin) в меню и введите

rundll32.exe sysdm.cpl,EditEnvironmentVariables

в поле команды. Это вызовет это диалоговое окно с правами прав для переменной PATH (и другими системными переменными):

введите описание изображения здесь

Интерфейс Windows для редактирования длинных переменных окружения является немного громоздким, поэтому после того, как я нажму Изменить... Мне нравится копировать вставляемый результирующий беспорядок пути в Notepad.exe, выполнять работу там, и копировать-вставить назад.

Ответ 4

Я столкнулся с подобной проблемой и провел целый день, чтобы устранить ее. Хотя мой компьютер, windows7 и Rstudio - 64 бит, но моя Java 32-битная (!) Однажды я понял, что я загружаю 64-битную Java. Мне нужно вручную загрузить, автоматическая загрузка приведет к 32-битной версии, потому что мой браузер Chrome - 32 бит. 64-битная Java будет автоматически установлена ​​в

C:\Program Files\Java, однако 32-битная Java будет автоматически установленный в C:\Program Files (x86)\Java.

Это важный показатель, указывающий, что моя Java - 64-разрядная или 32-разрядная.

После установки 64-битной Java все работает отлично!

Ответ 5

Столкнулся с аналогичным сообщением об ошибке.

Попробовал несколько шагов, перечисленных здесь.

  • Установить Env. Переменная, JAVA_HOME. = > Не работает.
  • Пытался установить rJava + > Не работал Шаги 3,4,5 работали..
  • Обновлена ​​моя версия 64-разрядной версии Java (последняя версия).
  • install.packages(rJava) == > Успех
  • install.packages(RWeka) == > Успех

Ответ 6

Была та же проблема:

Я запускал 64-bit R, вы можете проверить, какая версия закрывается и повторно открывается RStudio. Он должен быть наверху.

У меня был установлен 32-bit java, т.е. папка Java находилась в пределах C:\Program Files (x86).

Я просто перешел на Java.com и загрузил 64-bit Java и добавил его в конец PATH в System variables, и теперь я могу загрузить rJava. (Установка попросила меня избавиться от старой версии, которую я сделал)