R/RStudio、Yosemite和Java

14

我昨天升级到了OSX Yosemite系统。当我在RStudio中运行library(xlsx)时,程序会崩溃并显示以下信息:“要打开‘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更新31版本。我运行了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的建议解决方案。答案链接到一个看起来已经过时的苹果支持页面

我对Java不熟悉,所以需要一些建议。


你也可以(从Terminal.app)使用“open -a RStudio”命令(前提是你的环境变量都设置好了),它也可以很好地与较新的JVM一起使用。 - hrbrmstr
3个回答

13

@Eric Green 欢迎!Eric,如果我是你,我不会升级到Yosemite,天哪,它带来了这么多问题。欢迎来挑战 :-D - user1267127
1
我以为我等了足够长的时间来解决这些问题。悲哀! - Eric Green
@Eric Green 我个人降级到了Mavericks!如果你也决定这么做,不要犹豫发表评论,我会告诉你如何操作 :-) - user1267127
@Nemo 我也遇到了同样的问题。这是否意味着问题来自于OS X?我本以为是R或RStudio的问题...我真的不想安装这么旧的Java版本。 - LudoMC
@LudoMC 这显然是Java 1.8的一个bug。请参见https://github.com/s-u/rJava/issues/37和https://bugs.openjdk.java.net/browse/JDK-7131356。 - leekaiinthesky
是的,这会捣乱所有其他实际上需要 Java 8 的应用程序,例如Bamboo...因此,通过“解决”一个问题,您创造了一系列其他问题。使用Java,大多数问题不能被保持在一个整洁的沙箱中。对某个操作系统版本的个人怨恨应该被从评论中排除出去。@leekaiinthesky的评论更有帮助。 - yogibimbi

2
这对我有用:在~/.profile中设置两个环境变量。
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
export LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/server

我可以在Rstudio中安装rJava和xlsx软件包。不过,说实话,这需要花费数小时来进行琢磨(毫无头绪地)。


2
我已经成功加载了Java 8的rJava。看起来这是RStudio在Yosemite中未能将某些环境变量传递到其rsession的问题。希望他们很快就会解决,但在此期间,您可以在终端中自己传递环境变量。运行以下命令: $LD_LIBRARY_PATH=$(/usr/libexec/java_home)/jre/lib/server: open -a RStudio 基本上,您在此处运行java_home可执行文件,它返回您的Java路径,然后附加jre/lib/server目录。这被分配给LD_LIBRARY_PATH,这是RStudio需要正确工作的内容。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接