R/RStudio, Yosemite и Java

Вчера я обновился до OSX Yosemite. Когда я запускаю library(xlsx) в RStudio, программа выходит из строя, и я получаю сообщение: "Чтобы открыть" RStudio ", вам нужно установить устаревшую среду выполнения Java SE 6". Я получаю тот же результат и сообщение об открытии R, когда я запускаю library(xlsx) в R.

Вот мои подробности:

Mac Yosemite, Version 10.10.2
R version 3.1.2 (2014-10-31) 
Platform: x86_64-apple-darwin13.4.0 (64-bit)

У меня есть обновление Java версии 8. Я запустил java -version и получил это сообщение: "Нет времени выполнения Java, запрашивающего установку". Поэтому я установил Java SE Development Kit 8u31. Сейчас:

java -version
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)

Это не помогло, потому что запуск library(xlsx) по-прежнему вызывает сбой программы и выдает предупреждение. Нужно ли мне каким-то образом вернуться к Java SE 6, или есть способ использовать последнюю версию, которую я установил?

Эта публикация в формате SO, по-видимому, связана, но я не совсем понимаю, что такое предустановленное решение для установки Java 6. Ответ на ссылку страница поддержки Apple, которая кажется устаревшей.

Я не знаком с Java, поэтому я мог бы использовать некоторые советы.

Ответ 2

Это сработало для меня: установка двух переменных env в ~/.profile

export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
export LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/server

Я могу установить пакеты rJava и xlsx в Rstudio как таковые. Правда, однако, потребовалось несколько часов, чтобы возиться (бездумно), чтобы добиться этого.

Ответ 3

Мне удалось загрузить rJava с помощью Java 8. Похоже, что это проблема с тем, что RStudio не передает определенные переменные среды в свой rsession из Yosemite. Надеюсь, они скоро исправят это, но, тем временем, вы можете передать переменную окружения самостоятельно в терминале. Запустите это:

$LD_LIBRARY_PATH = $(/usr/libexec/java_home)/jre/lib/server: open -a RStudio

В основном то, что вы здесь делаете, это запуск исполняемого файла java_home, который возвращает ваш путь Java, а затем добавляет каталог jre/lib/server. Это присваивается LD_LIBRARY_PATH, что и нужно RStudio.