Я пытаюсь установить rJava
на компьютер с Win 7 64 бит. Когда я бегу
install.packages("rJava")
вроде бы все хорошо
Installing package(s) into ‘C:/Users/djq/Documents/R/win-library/2.13’
(as ‘lib’ is unspecified)
trying URL 'http://software.rc.fas.harvard.edu/mirrors/R/bin/windows/contrib/2.13/rJava_0.9-1.zip'
Content type 'application/zip' length 654936 bytes (639 Kb)
opened URL
downloaded 639 Kb
package 'rJava' successfully unpacked and MD5 sums checked
The downloaded packages are in
C:\TEMP\RtmpW2eAUw\downloaded_packages
но когда я пытался загрузить библиотеку, 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:/Users/me/Documents/R/win-library/2.13/rJava/libs/x64/rJava.dll':
LoadLibrary failure: %1 is not a valid Win32 application.
Error: package/namespace load failed for 'rJava'
Я установил Java JRE (пробуя как 32-, так и 64-битные версии) и JDK (используя 32- и 64-битную версию). Моя версия R R version 2.13.1 (2011-07-08)
и я использую RStudio.
Если я попытаюсь использовать 32-битный R, я могу загрузить rJava
нормально. Проблема только в том, rJava
что не работает в R 64 бит? Как я могу сказать, что пакет только для 32 вместо 64?
редактировать: только что опубликовал R.version()
:
> R.Version()
$platform
[1] "x86_64-pc-mingw32"
$arch
[1] "x86_64"
$os
[1] "mingw32"
$system
[1] "x86_64, mingw32"
$status
[1] ""
$major
[1] "2"
$minor
[1] "13.1"
$year
[1] "2011"
$month
[1] "07"
$day
[1] "08"
$`svn rev`
[1] "56322"
$language
[1] "R"
$version.string
[1] "R version 2.13.1 (2011-07-08)"
R.Version()
к вашему вопросу? Я только что установил 64-битную версию,rJava
используя точный метод, который вы описываете в своем вопросе. Я предполагаю, что ваша версия R является 32-битной.Program Files
илиProgram Files (x86)
. Добавьте путь к окнам в соответствии с принятым ответом. ЕслиProgram Files (x86)
это означает, что у вас 32-битная версия, перейдите по ссылке sites.google.com/site/rforfishandwildlifegrads/home/week_2/… .Ответы:
Обновление (июль 2018 года):
Последняя версия rJava для CRAN найдет
jvm.dll
автоматически, без установки вручнуюPATH
илиJAVA_HOME
. Однако обратите внимание, что:C:\Program files\Java\
а вторыеC:\Program Files (x86)\Java\
- не конфликтуют.Начиная с версии Java 9, поддержка x86 (win32) была прекращена. Следовательно, последняя работающая многоархивная установка заключается в установке jdk-8u172-windows-i586.exe и jdk-8u172-windows-x64.exe, а затем двоичного пакета из CRAN:
Бинарный пакет из CRAN должен сам поднять jvm. Только для экспертов : для сборки rJava из исходного кода вам необходим
--merge-multiarch
флаг:Старый ответ:
(Примечание: многие люди в других ответах / комментариях сказали, что нужно удалить JAVA_HOME, так что учтите это. Недавно я не возвращался к этой проблеме, чтобы узнать, все ли перечисленные ниже шаги все еще необходимы.)
Вот небольшой совет о том, как начать работу с R + rJava в Windows 7 64bit. Есть несколько возможностей, но у большинства есть фатальные недостатки. Вот что сработало для меня:
Добавить jvm.dll в ваш путь
Для rJava, моста Java R <->, потребуется jvm.dll, но R не сможет найти эту DLL. Он находится в папке, как
или
Где бы вы ни находились, добавьте этот каталог в переменную PATH Windows. (Windows -> «Путь» -> «Изменить переменные среды для вашей учетной записи» -> PATH -> изменить значение.)
Возможно, у вас уже есть Java в вашем PATH. Если это так, вы должны найти каталог клиент / сервер в том же «домашнем» каталоге Java, что и каталог PATH.
Чтобы быть в безопасности, убедитесь, что ваша архитектура соответствует. Если у вас есть Java
Program Files
, она 64-битная, поэтому вам следует запустить R64. Если у вас есть JavaProgram 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/ . Обратите внимание на совет там
Это почти правильно. Это на самом деле работает:
install.packages('rJava', .libPaths()[1], 'http://www.rforge.net/')
Следите за пунктуацией! Загадочный «.libPaths () [1]» просто говорит R установить пакет в директорию первичной библиотеки. По какой-то причине оставить значение пустым не получится, даже если оно по умолчанию.
источник
install.packages('rJava', repos='http://www.rforge.net/')
....\jre\bin\server
к пути исправило это для меняРабота rJava во многом зависит от конфигурации вашего компьютера:
Если вы используете 64-битную версию, убедитесь, что вы не установили JAVA_HOME в качестве переменной окружения . Если эта переменная установлена, rJava не будет работать по любой причине (по крайней мере, для меня). Вы можете легко проверить в R, если JAVA_HOME установлен с
Если вам нужно установить JAVA_HOME (например, он нужен для maven или чего-то еще), вы можете деактивировать его в R-сессии с помощью следующего кода перед загрузкой rJava:
Это должно сделать свое дело в большинстве случаев. Кроме того, это решит проблему с использованием пакета rJava на Win7 64 бит с R тоже. Я заимствовал идею сброса переменной окружения из-за сбоя установки пакета R: rJava .
источник
Для меня настройка JAVA_HOME сделала свое дело (вместо того, чтобы сбросить, как в другом ответе, данном здесь). Либо в Windows:
Или внутри R:
Но, пожалуй, лучшее решение (начиная с rJava 0.9-4) - это переопределение в R установки Windows JAVA_HOME в целом:
источник
options(java.home="my\\path\\to\\jre")
работал, когда все остальное не удалось, в том числе настройки среды PATHoptions(java.home="C:\\Program Files\\Java\\jdk1.8.0_144\\jre")
. Если у вас есть jdk1.8.На последний вопрос есть простой ответ:
Это означает, что я бегу R64. Если бы я работал под управлением 32-разрядной версии R, он вернул бы значение 4. То, что вы работаете с 64-разрядной ОС, не означает, что вы будете использовать 64-разрядную версию R, а из сообщения об ошибке, похоже, нет.
РЕДАКТИРОВАТЬ: если пакет имеет двоичные файлы, то они находятся в отдельных каталогах. Специфика будет зависеть от ОС. Обратите внимание, что ошибка LoadLibrary произошла при попытке найти dll в
...rJava/libs/x64/...
папке В моей системе MacOS папка ... rJava / libs / ... `содержит 3 подкаталога: i386, ppc и x86_64. (Файлы PPC явно бесполезны.)источник
rJava
пакет. Вот почему я так озадачен сообщением об ошибке, так как оно кажется полной противоположностью тому, что происходит.Извините за некро. Я тоже столкнулся с той же проблемой , и выяснил , что
rJava
ожидаетJAVA_HOME
в точку к JRE. Если у вас установлен JDK, скорее всего, выJAVA_HOME
указываете на JDK. Мое быстрое решение:источник
У меня были некоторые проблемы с определением пакета Java, который был установлен, когда я столкнулся с этой проблемой, так как предыдущие ответы не совсем помогли мне. Чтобы разобраться, я набрал:
и затем нажмите вкладку, и две предложенные директории были "jre1.8.0_31 /" и "jre7 /"
Jre7 не решил мою проблему, но jre1.8.0_31 / сделал. Окончательный ответ был запущен (перед библиотекой (rJava)):
Я использую 64-битную Windows 8.1 Надеюсь, это поможет кому-то еще.
Обновить:
Проверьте свою версию, чтобы определить, какой X должен быть (мой изменился несколько раз с этого поста):
источник
У меня была связанная проблема с rJava. Он будет загружаться, но пакет, который зависит от него, не будет загружаться.
Пользователи могут тратить много времени на jvm.dll, PATH и JAVA_HOME, когда реальное исправление заключается в том, чтобы заставить установщик просто забыть о i386. Используйте опцию для install.packages. (это также работает, когда используется библиотека drat. (заслуга Dason)
Кроме того, вы можете изменить только свой путь пользователя с помощью команды win, например:
источник
Мне нужно иметь 32-битную JRE для моего браузера, но 64-битную JRE для R и rJava. 32-битная JRE установлена в папке по умолчанию. После некоторых экспериментов я обнаружил, что мне нужно только одно из предложений Мистерби, чтобы заставить rJava (версия 0.9-6 ) работать на меня. Все, что я сделал, это добавил путь к моей 64-битной установке Java:
в начало моей переменной окружения path (ваш путь, вероятно, будет другим) и удалите мой JAVA_HOME, как предложил user2161065 . Я поставил это перед входом
который установщик Oracle вставляет в начало пути и указывает на некоторые символические ссылки на 32-битную JRE. Добавив запись в 64-битную jvm.dll, похоже, rJava может найти то, что ему нужно.
источник
Я думаю, что это обновление. Мне не удалось установить rJava (в Windows), пока я не установил JDK, так как Javac не найден и javac не работает в командной строке Windows . Сообщение, которое я получал, было
JDK включает в себя JRE и в соответствии с https://cran.r-project.org/web/packages/rJava/index.html текущей версией rJava (0.9-7, опубликованной 2015-Jul-29) 2015 года.
Итак, вы: если rJava не будет установлен, потому что не может найти javac, и у вас установлена JRE, попробуйте JDK. Также убедитесь, что это
JAVA_HOME
указывает на JDK, а не на JRE.источник
Я решил проблему, удалив явно избыточное программное обеспечение Java с моего компьютера с Windows 7 x64. Я достиг этого, сначала удалив все приложения Java, а затем установив свежую версию Java . (Позже я указал R 3.4.3 x86_64-w64-mingw32 на путь Java , просто чтобы упомянуть, хотя я не думаю, что это реальная проблема.) На сегодняшний день осталось только Java 8 Update 161 (64-bit) 8.0.1610.12 затем. После этого
install.packages("rJava"); library(rJava)
все заработало отлично.источник
Это продолжение Обновления (июль 2018 года). Я на 64-битной Windows 10, но настроен для сборки r пакетов из исходного кода для 32 и 64-битных с Rtools. Мой 64-битный JDK является JDK-11.0.2. Когда я могу, я делаю все в RStudio. По состоянию на март 2019 года rjava протестирован с <= jdk11, см. Выпуск github # 157 .
К вашему сведению, консоль сценария rstudio не любит двойные запятые ... но она работает!
источник
Примечание: jdk1.8.0_201 и jre1.8.0_201 будут изменены в зависимости от версии комплекта разработки Java и Java
Чтобы проверить установку, откройте CMD \ Введите javac \ Нажмите Enter и введите java \ нажмите enter Появится
В RStudio запустить
Примечание: jdk1.8.0_201 будет изменено в зависимости от версии комплекта разработки Java
Теперь вы можете без проблем установить и загрузить пакет rJava.
источник