Проблема с загрузкой rJava

Вчера я удалил R2.11 из моей системы (Win7, 64bit), так как я работаю на R2.13.

С тех пор я получаю сообщение об ошибке:

> require(rJava)
Lade nötiges Paket: rJava
Error : .onLoad in loadNamespace() fehlgechlagen, Details:
  Aufruf: rJava
  Fehler: inDL(x, as.logical(local), as.logical(now), ...)

Я попытался указать PATH, так как в интернете обнаружил, что это может быть связано с jvm.dll:

c:\Rtools\bin;
c:\Rtools\perl\bin;
c:\Rtools\MinGW\bin;
c:\Rtools\MinGW64\bin;
C:\Windows\system32;
%R_HOME%\bin;
C:\Program Files\R\R-2.13.0\bin; 
C:\Program Files\Java\jre6\bin\server

Однако я не смог решить проблему... Я также не могу запустить R из командной строки win (просто введите "R"?)

Какие-либо предложения?

8 ответов

Решение

Я наконец решил проблему:

Похоже, что rJava ищет jvm.dll в ~\Java\jre6\bin\client. Однако эта папка не существовала в моей системе (jvm.dll находился в ~\bin\server).

Поэтому я просто сделал копию jvm.dll в папке ~\bin\client\ и добавил ее в путь.

Теперь все работает отлично!

Вот небольшой совет о том, как начать работу с R + rJava в Windows 7 64bit. Есть несколько возможностей, но у большинства есть фатальные недостатки. Вот что сработало для меня:

Добавить jvm.dll в ваш путь

Для rJava, моста Java R<->, потребуется jvm.dll, но R не сможет найти эту DLL. Он находится в папке, как

C:\Program Files\Java\jdk1.6.0_25\jre\bin\server

или же

C:\Program Files\Java\jre6\jre\bin\client

Где бы вы ни находились, добавьте этот каталог в переменную PATH Windows. (Windows -> "Путь" -> "Изменить переменные среды для вашей учетной записи" -> PATH -> изменить значение.)

Возможно, у вас уже есть Java в вашем PATH. Если это так, вы должны найти каталог клиент / сервер в том же "домашнем" каталоге Java, что и каталог PATH.

Чтобы быть в безопасности, убедитесь, что ваша архитектура соответствует. Если у вас есть Java в Program Files, это 64-битный, так что вы должны запустить R64. Если у вас есть Java в Program Files (x86)32-битный, так что вы используете простой 32-битный R.

Перезапустите R из меню Windows

Если R работает, выйдите.

Из меню Пуск, Пуск R / RGUI, RStudio. Это очень важно, чтобы заставить R забрать ваши изменения PATH.

Установите rJava 0.9.2.

Более ранние версии не работают! Зеркала не обновлены, поэтому зайдите на сайт www.rforge.net: http://www.rforge.net/rJava/files/. Обратите внимание на совет там

“Please use

`install.packages('rJava',,'http://www.rforge.net/')`

to install.”

Это почти правильно. Это на самом деле работает:

install.packages('rJava', .libPaths()[1], 'http://www.rforge.net/')

Следите за пунктуацией! Загадочный ".libPaths()[1]" просто говорит R установить пакет в каталог первичной библиотеки. По какой-то причине оставить значение пустым не получится, даже если оно по умолчанию.

Моя проблема была решена

install.packages("SqlRender",INSTALL_opts="--no-multiarch")

Это был пакет, который зависит от rJava, и все советы говорили мне, чтобы исправить установку Java. Но решение было использовать опцию установки, которая просто забывает об архитектуре i386. (также работает с библиотекой drat и пакетами не из CRAN)

Это может быть связано с конфликтом между версиями RStudio и Java. Если вы установили 64-битную java, а RStudio работает в 32-битном режиме, у вас могут возникнуть подобные проблемы. В качестве решения вы можете изменить выбор 32-64 бит в Tools-> Global Options-> Generalраздел в RStudio. Вы можете найти подробную информацию здесь .

Я решил эту проблему следующим образом. Пробую 2 дня. Пользователи Windows 7 не пишут... \ bin \ x64 в переменных среды. Вместо этого определите путь следующим образом. JAVA_HOME "C: \ Program Files \ Java \ jre1.8.0_251" R_HOME C: \ Program Files \ R \ R-3.5.3

В моем случае установка правильной версии Java решила мою проблему. Я установил 64-битную Java, потому что я использую 64-битную версию R.

Я решил это, выполнив следующие действия

  • настройка моей среды Sys.setenv(JAVA_HOME='C:\\Program Files (x86)\\Java\\jre6')
  • Установка пакета rJava вручную из установочного пакета (даже это должно работать:install.packages('rJava', .libPaths()[1], 'http://www.rforge.net/'))
  • библиотека (rJava)
  • В RStudio введите.LibPaths()
  • Это даст вам путь в вашей системе Windows, где расположены ваши библиотеки
  • Иди туда и удали rJava. Если он используется приложениями Java, уничтожьте все программы Java в диспетчере задач.

  • Перейти к компьютеру и свойствам, нажмите на переменные среды изменения

  • Отредактируйте JAVA_HOME и все связанные с Java пути к пути, где находится ваша новейшая установка Java, и сохраните.
Другие вопросы по тегам