Проблема с загрузкой 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, и сохраните.