R: установка пакета rJava не выполняется
При установке rJava с помощью команды install.packages("rJava")
я получаю следующую ошибку:
checking Java support in R... present:
interpreter : '/usr/bin/java'
archiver : '/usr/bin/jar'
compiler : '/usr/bin/javac'
header prep.: '/usr/bin/javah'
cpp flags : '-I/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../include -I/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../include/linux'
java libs : '-L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/amd64/server -L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/amd64 -L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../lib/amd64 -L -L/usr/java/packages/lib/amd64 -L/usr/lib64 -L/lib64 -L/lib -L/usr/lib -ljvm'
checking whether JNI programs can be compiled... yes
checking JNI data types... configure: error: One or more JNI types differ from the corresponding native type. You may need to use non-standard compiler flags or a different compiler in order to fix this.
ERROR: configuration failed for package ‘rJava’
У меня установлен Java JDK, а java -version
возвращает следующее:
$ java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Когда я пытаюсь найти ошибку, я вижу, что другие имеют такую же проблему, но не найдут решение, отличное от "установки всего JDK, а не только JRE", который я сделал.
Другое, что я прочитал, это запустить sudo R CMD javareconf
, который работает довольно успешно без ошибок.
Есть идеи, что моя проблема?
[[EDIT]]
Прошло несколько месяцев с тех пор, как я столкнулся с этой проблемой. Сначала я решил это, отредактировав мои пути Java, как показано в ответе, который я опубликовал ниже. Недавно я столкнулся с той же проблемой в новой установке Ubuntu. Я попробовал рекомендацию Dirk использовать apt-get для установки пакета rJava. Он отлично работал. Первоначально я не понял, что установка пакетов с использованием метода apt-get Ubuntu принципиально отличается от загрузки одного и того же пакета с помощью install.packages() внутри R. Пакеты Ubuntu решают некоторые проблемы, которые я не понимал и не оценил,
Ответы
Ответ 1
Оказывается, моя проблема была связана с моей переменной среды JAVA_HOME
. Да, шокирую, я знаю. Моя начальная настройка для PATH
и JAVA_HOME
выглядела так:
export JAVA_HOME=/usr/lib/jvm/java-6-sun
export PATH=$PATH:$JAVA_HOME/bin
И я добавил /jre
, поэтому теперь он выглядит так:
export JAVA_HOME=/usr/lib/jvm/java-6-sun/jre
export PATH=$PATH:$JAVA_HOME/bin
Все в Java, казалось, отлично работало без /jre
, но rJava не будет. Странно.
Ответ 2
Не было бы
apt-get install r-cran-rjava
было проще? Вы могли бы спросить меня при использованииR!:)
Ответ 3
Спасибо - ваше предложение о $JAVA_HOME
привело меня к аналогичному решению:
prompt$ unset JAVA_HOME
перед вызовом R.
Ответ 4
Я столкнулся с одной и той же проблемой, и он работал после выполнения команд ниже.
export JAVA_LIBS="$JAVA_LIBS -ldl"
R CMD javareconf
Подробнее см.
http://www-01.ibm.com/support/knowledgecenter/SSPT3X_3.0.0/com.ibm.swg.im.infosphere.biginsights.install.doc/doc/install_install_r.html
Ответ 5
Это работало для меня на Ubuntu 12.04 и R версии 3.0
cd /usr/lib/jvm/java-6-sun-1.6.0.26/include
это каталог с jni.h
Затем создайте мягкую ссылку на другой требуемый файл заголовка (мне слишком ленив, чтобы узнать, как включить более одного каталога в параметр JAVA_CPPFLAGS ниже):
sudo ln -s linux/jni_md.h .
Наконец
sudo R CMD javareconf JAVA_CPPFLAGS=-I/usr/lib/jvm/java-6-sun-1.6.0.26/include
Ответ 6
ниже - один из моих ответов на другое сообщение - ошибка: не удалось загрузить установленные пакеты прямо сейчас
(это также относится к этому вопросу)
Для пользователей Linux (Ubuntu): Если у вас установлен oracle-java (7/8). Он будет находиться в этом месте /usr/lib/jvm
и sudo
требуется доступ.
Создайте файл /etc/ld.so.conf.d/java.conf
со следующими данными:
/usr/lib/jvm/java-8-oracle/jre/lib/amd64
/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server
(Замените java-8-oracle на java-7-oracle в зависимости от вашей версии Java)
Тогда:
sudo ldconfig
Перезапустите RStudio, а затем установите пакет rJava.
Ответ 7
Запуск R под Gentoo на AMD64. Я обновился до R 2.12.0
R версия 2.12.0 (2010-10-15)
Copyright (C) 2010 Фонд R для статистических вычислений
ISBN 3-900051-07-0
Платформа: x86_64-pc-linux-gnu (64-разрядная версия)
и эти надоедливые сообщения ушли.
Ян Вандермер
Ответ 8
Я попытался установить openjdk-7- *, но все же у меня возникли проблемы с установкой rJava. Выключается после перезагрузки компьютера, тогда проблем не было.
так
sudo apt-get install openjdk-7-*
RESTART after installing java, then try to install package "rJava" in R
Ответ 9
Для меня работало изменение JAVA_HOME из файла /usr/lib/R/etc/javaconf
Сначала я проверил, какая версия Java включена: sudo update-alternatives --config java
. В моем случае это был java-8-oracle
Я открыл файл /usr/lib/R/etc/javaconf
и заменил default-java
на java-8-oracle
:
${JAVA_HOME=/usr/lib/jvm/default-java}
заменен на:
${JAVA_HOME=/usr/lib/jvm/java-8-oracle}
И тогда sudo R CMD javareconf
Я перезапустил RStudio и смог установить rJava.
Ответ 10
что я здесь делаю:
Примечание: rjava должен быть последней версией
2: Обновление sudo apt-get sudo apt-get install r-cran-rjava
После обновления старой версии rjava, можно установить rhdfs_1.0.8.
Ответ 11
Я получил его, загрузив: https://cran.r-project.org/src/contrib/rJava_0.9-8.tar.gz и выполнив команду R CMD install rJava_0.9-8.tar.gz
Ответ 12
Пакет rJava ищет папку /usr/lib/jvm/default-java/
. Но он не доступен по умолчанию. Эта папка имеет символическую ссылку для java, настроенной для системы по умолчанию.
Чтобы активировать java по умолчанию, установите следующие пакеты:
sudo apt-get install default-jre default-jre-headless
Протестировано на ubuntu 17.04 с CRAN R 3.4.1
Ответ 13
Проблема была в том, что rJava не устанавливался в RStudio
(Version 1.0.136
). Следующее работало для меня (macOS Sierra version 10.12.6
) (находится здесь):
Шаг 1: Загрузите и установите javaforosx.dmg
отсюда
Шаг 2: Затем запустите команду из RStudio:
install.packages("rJava", type = 'source')
Ответ 14
Вот как я заставляю это работать:
В Linux (Ubuntu 16.04)
sudo apt-get install default-jre
sudo apt-get install default-jdk
sudo R CMD javareconf
в R:
install.packages("rJava")
Ответ 15
Я столкнулся с той же проблемой при использовании Windows 10. Я решил проблему с помощью следующей процедуры
- Загрузите Java с https://java.com/en/download/windows-64bit.jsp для 64-битных окон\Установите его
- Загрузите комплект разработки Java по адресу https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html для 64-разрядных окон\Установите его
- Затем щелкните правой кнопкой мыши значок "Этот компьютер" на рабочем столе\Свойства\Дополнительные параметры системы\Дополнительно\Переменные среды\В разделе "Системные переменные" выберите "Путь"\"Изменить"\"Создать"\"Копировать и вставить пути" "C:\Program Files\Java\jdk1"..8.0_201\bin "и" C:\Program Files\Java\jre1.8.0_201\bin "(без кавычек)\OK\OK\OK
Примечание: jdk1.8.0_201 и jre1.8.0_201 будут изменены в зависимости от версии комплекта разработки Java и Java
- В окне "Переменные среды" перейдите в раздел "Пользовательские переменные для пользователя". Нажмите "Создать"\"Перевести имя переменной как" JAVA_HOME ", а значение переменной -" C:\Program Files\Java\jdk1.8.0_201\bin "\. Нажмите" ОК ".
Чтобы проверить установку, откройте CMD\Введите javac\Нажмите Enter и введите java\нажмите enter Появится сообщение ![enter image description here]()
В RStudio запустить
Sys.setenv(JAVA_HOME="C:\\Program Files\\Java\\jdk1.8.0_201")
Примечание: jdk1.8.0_201 будет изменено в зависимости от версии комплекта разработки Java
Теперь вы можете без проблем установить и загрузить пакет rJava.
Ответ 16
Я столкнулся с подобной проблемой на Ubuntu 16.04 и смог решить ее, создав папку с именем "default-java" в /usr/lib/jvm
и скопировав в нее все содержимое /usr/lib/jvm/java-8-oracle
. Я выбрал это решение, поскольку исправление переменной среды JAVA_HOME оказалось бесполезным.