2016-06-09 1 views
14

rJava При загрузке пакета, я получаю эту ошибку:R - Ошибка: .onLoad неудача в loadNamespace() для «» 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’ 

я говорил различные посты на StackOverflow и пытался внести соответствующие изменения, но ничего работал. Это различные шаги, которые я предпринял для решения проблемы:

Это не сработало.

Тогда я попытался это:

options(java.home="C:\\Program Files\\Java\\jre1.8.0_91\\") 
library(rJava) 

Это не сработало.

Мой jvm.dll находится в этом месте в моей Windows 7 64 битной ОС - C: \ Program Files (x86) \ Java \ jre1.8.0_91 \ Bin \ клиент

Я также добавил C:\Program Files (x86)\Java\jre1.8.0_91\bin\client в моей PATH переменную в моих переменных окружения и перезапустил RStudio и попытался снова установить и загрузить rJava. Это тоже не сработало.

Я был бы очень признателен, если бы кто-то мог помочь мне решить эту проблему.

Спасибо, ребята!

+0

Попробуйте запустить из оболочки 'R CMD javareconf' и переустановить' rJava'. Конечно, нет гарантии. – nicola

+0

Пожалуйста, не редактируйте свой ответ в вопросе. Вместо этого вы отвечаете в нижней части страницы. – josliber

+1

@josliber, сделал предложенные изменения. Благодарю . – user3205469

ответ

19

Это работает для меня -

Эта ошибка часто решена путем установки версии Java (то есть 64-битный Java или 32-битный Java), который соответствует типу R-версии, которую вы используете (т.е. 64-бит R или 32-бит R). Эта проблема может легко повлиять на пользователей Windows 7, поскольку они, возможно, установили версию Java, которая отличается от версии R, которую они используют.

Обратите внимание, что необходимо «вручную загрузить и установить» 64-разрядную версию JAVA. По умолчанию страница загрузки содержит 32-битную версию.

Вы можете выбрать точную версию Java, которую вы хотите установить по этой ссылке. Если вы можете (по какой-то причине) работать в обеих версиях R, вы можете установить обе версии Java (установка «Java Runtime Environment», вероятно, достаточно для ваших нужд). (Источник: Uwe Ligges)

Другие возможные решения пытаются переустановить 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/

+1

Работал отлично для меня после охоты. Делает полный смысл, желая, чтобы отладочное сообщение в пакете rJava было немного более заостренным в этом направлении. – ddisqq

0

я думаю ОС архитектура и архитектура R не совпадают. Если они соответствия, то проблема может быть

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

Так,

Добавить «C следующим образом:/Users/Рохан-PC/Documents/R/обоюдного библиотека/3.1 'этот путь к списку переменных пути в списке Системные переменные (не путать с переменной PATH в переменных пользователя). Перезагрузите R и попробуйте загрузить библиотеку. Оно работает!!!!!

4

Я столкнулся с той же проблемой. Обязательно проверьте путь к файлу для 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') 

Надежда, что помогает

0

I попробовал то, что сказали другие, чтобы не воспользоваться. Для меня решение заключалось в том, чтобы удалить старые папки и ярлыки R-версии 32-бит на моем компьютере, которые остались там даже после деинсталляции.

Смежные вопросы