R/RStudio, Yosemite, and Java

半世苍凉 提交于 2019-12-05 12:22:44

问题


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.


回答1:


instead the java you have installed download this one

https://support.apple.com/kb/DL1572?viewlocale=en_US&locale=en_US

after installing it, your problem will be solved




回答2:


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.




回答3:


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.



来源:https://stackoverflow.com/questions/28796108/r-rstudio-yosemite-and-java

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!