R/RStudio, Yosemite, and Java

12,440

Solution 1

This worked for me: setting two env variables in ~/.profile

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

I can install the rJava and xlsx packages in Rstudio as such. Admittedly, though, it took hours of tinkering around (mindlessly) to get it just right.

Solution 2

I was able to get rJava loaded with Java 8. It looks like this is a problem with RStudio not passing certain environment variables into its rsession from Yosemite. Hopefully they'll fix it soon, but in the mean time you can pass the environment variable yourself in a terminal. Run this:

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

Basically what you're doing here is running the java_home executable, which returns your Java path, and then appending the jre/lib/server directory. This gets assigned to LD_LIBRARY_PATH, which is what RStudio needs to correctly.

Share:
12,440

Related videos on Youtube

Eric Green
Author by

Eric Green

Updated on June 04, 2022

Comments

  • Eric Green
    Eric Green almost 2 years

    I upgraded to OSX Yosemite yesterday. When I run library(xlsx) in RStudio, the program crashes and I get the message: "To open 'RStudio' you need to install the legacy Java SE 6 runtime." I get the same result and message about opening R when I run library(xlsx) in R.

    Here are my details:

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

    I have Java Version 8 update 31. I ran java -version and got this message: "No Java runtime present, requesting install." So I installed Java SE Development Kit 8u31. Now:

    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)
    

    This did not do the trick because running library(xlsx) still crashes the program and throws a warning. Do I need to somehow roll back to Java SE 6 runtime, or is there a way to use the latest version I have installed?

    This SO post seems to be related, but I am not clear about the propsoed solution to install Java 6. The answer links to an apple support page that seems out of date.

    I'm not familiar with Java, so I could use some advice.