R - Ошибка: .onLoad не удалось в loadNamespace() для 'rJava'
Во время загрузки 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:/Users/ankitagarwal5/Documents/R/win-library/3.2/rJava/libs/x64/rJava.dll': LoadLibrary failure: %1 is not a valid Win32 application. In addition: Warning message: package ‘rJava’ was built under R version 3.2.3 Error: package or namespace load failed for ‘rJava’
Я ссылался на различные сообщения в Stackru и пытался внести соответствующие изменения, но ничего не получалось. Вот несколько шагов, которые я предпринял, чтобы решить проблему:
if (Sys.getenv("JAVA_HOME")!="")
Sys.setenv(JAVA_HOME="")
library(rJava)
Это не сработало.
Тогда я попробовал это:
options(java.home="C:\\Program Files\\Java\\jre1.8.0_91\\")
library(rJava)
Это тоже не сработало.
Мой jvm.dll находится в этом месте в моей 64-битной ОС Windows 7 - C:\Program Files (x86)\Java\jre1.8.0_91\bin\client
Я также добавил C:\Program Files (x86)\Java\jre1.8.0_91\bin\client
к моей переменной PATH в моих переменных окружения и перезапустил RStudio и снова попытался установить и загрузить rJava. Это тоже не сработало.
Я был бы очень признателен, если бы кто-нибудь мог помочь мне решить эту проблему.
Спасибо, парни!
7 ответов
Это сработало для меня -
Эта ошибка часто устраняется путем установки версии Java (то есть 64-битной Java или 32-битной Java), которая соответствует типу используемой вами версии R (то есть 64-битной R или 32-битной R). Эта проблема может легко повлиять на пользователей Windows 7, так как они могли установить версию Java, которая отличается от версии R, которую они используют.
Обратите внимание, что необходимо вручную загрузить и установить 64-битную версию JAVA. По умолчанию страница загрузки предоставляет 32-битную версию.
По этой ссылке вы можете выбрать точную версию Java, которую хотите установить. Если вы можете (по какой-то причине) работать с обеими версиями R, вы можете установить обе версии Java (установка "Java Runtime Environment", вероятно, достаточно хороша для ваших нужд). (Источник: Уве Лиггес)
Другие возможные решения пытается переустановить rJava.
Если это не сработает, вы также можете вручную установить каталог вашего местоположения Java, установив его перед загрузкой библиотеки:
Sys.setenv(JAVA_HOME='C:\\Program Files\\Java\\jre7') # for 64-bit version
Sys.setenv(JAVA_HOME='C:\\Program Files (x86)\\Java\\jre7') # for 32-bit version
library(rJava)
Перейдите по этой ссылке - http://www.r-bloggers.com/how-to-load-the-rjava-package-after-the-error-java_home-cannot-be-determined-from-the-registry/
Я столкнулся с той же проблемой. Обязательно проверьте путь к файлу для Java. Чтобы устранить ошибку, мне нужно было скачать 64-битную версию Java. Однако следующий код в R не работал, поскольку папка была неправильной для последней версии для Java:
Sys.setenv(JAVA_HOME='C:\\Program Files\\Java\\jre7') # for 64-bit version
Вместо этого я изменил имя на:
Sys.setenv(JAVA_HOME='C:\\Program Files\\Java\\jre1.8.0_144')
надеюсь, это поможет
Я заметил в различных свежих установках R, RStudio и rJava в Windows, что исправляет ошибку:
- Удалить R
- Переустановите R, но выберите только одну архитектуру. Например, x64 или x86, но не оба. Это приводит к путанице в R или RStudio при компиляции.
В моем случае я исправил сообщение
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/ankitagarwal5/Documents/R/win-library/3.2/rJava/libs/x64/rJava.dll':
LoadLibrary failure: %1 is not a valid Win32 application.
Выполните шаги 1 и 2 выше.
Я попробовал то, что сказал другой, но безрезультатно. Для меня решением было устранить старые папки и ярлыки версии 32 бита на моем компьютере, которые остались там даже после удаления.
Это случилось со мной, когда Java была обновлена до 32-разрядной версии, но для R требовалась 64-разрядная версия.
Решение:
- Просто скачайте 64-битную версию Java
- установить его.
- Перезапустите RStudio
- Все должно работать
Где скачать 64-битную java:
Я думаю, ваша архитектура ОС и R архитектура не совпадают. Если они совпадают, проблема может заключаться в следующем
Это сработало для меня после того, как я добавил путь к библиотеке R в список переменных среды на моем Windows 7.
Так,
Добавьте "C:/Users/Rohan-PC/Documents/R/win-library/3.1" этот путь в список переменных Path в списке системных переменных (не путать с переменной PATH в пользовательских переменных). Перезапустите R и попробуйте загрузить библиотеку. Оно работает!!!!!
Если у вас установлены как 64-разрядная версия R, так и 32-разрядная версия R, попробуйте каждую из них.
Для меня он работал на 64-битном R, но не на 32-битном R. Но, конечно, это зависит от вашей версии Java (64-битная Java против 32-битной Java).