Не удалось загрузить rJava на R

Я хочу загрузить rJava в R x64 3.1.2. ОС - 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:UserssonyAppDataLocalTempRtmpamYUH7downloaded_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 и в то же время путь переменной среды установлен в:

C:Program FilesJavajdk1.7.0_51bin;C:Program FilesJavajre7binserver;

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

на ручной установке до конца R:

options(java.home="C:Program FilesJavajdk1.7.0_51bin")
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 тоже не помогает.

8 ответов


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

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

например

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

переменные среды-это неправильно.


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

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


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

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

Это важный индикатор, говорящий мне, что моя Java 64 бит или 32 бит.

после установки 64-битной Java все работает идеально!


Я получаю эту ошибку каждый раз, когда 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 (и других системных переменных):

enter image description here

интерфейс Windows Для редактирования длинных переменных среды немного громоздкий, поэтому после того, как я нажму правка... мне нравится копировать-вставлять полученный беспорядок путей в Блокнот.exe, сделайте работу там и скопируйте-вставьте обратно.


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

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

  1. Установить Env. Переменной, переменной JAVA_HOME. => Не сработало.
  2. пытался установить rJava +> не работал Шаги 3,4,5 работал..
  3. обновлен мой Java 64 бит версии 8.ХХ (последний доступный)
  4. установить.пакеты(rJava) ==> успех
  5. установить.пакеты(RWeka) ==> успех

был тот же вопрос:

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

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

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


попробуйте загрузить ежедневную сборку RStudio:http://dailies.rstudio.com

Это сработало для меня со второй попытки после того, как я попробовал все остальное (обновил R, Rstudio, Java, переустановил rJava миллион раз и следовал всем советам stackoverflow).

подсказка пришла из RStudio форум поддержки:

RStudio действительно не может прочитать некоторую информацию о запуске, обычно предоставляемую R здесь...

У нас есть потенциальное исправление для этого в последний день сборки RStudio -- если вы хотите, вы можете попробовать загрузить и протестировать с http://dailies.rstudio.com


вероятно, это проблема с настройкой с указателем JAVA_HOME. Если у вас нет JDK, но JRE, вот вам, возможно, придется сделать: Системный.setenv (JAVA_HOME='C:\Program файлы\Java\jre1.8.0_161')

Не забудьте изменить номера после "jre" на основе того, что у вас есть на вашем компьютере. Вот это ссылке это объясняет разницу между JDK и JRE.