在 Linux Ubuntu 上安装或运行 rJava 失败

在 Linux Ubuntu 上安装或运行 rJava 失败

我要问自己一个问题并回答它。我被 rJava 的安装困扰了很多次,最后我决定把所有问题放在一个线程中,并将其记录在 StackExchange 上。

  1. 我已经运行export JAVA_HOME=/usr/lib/...echo $JAVA_HOME显示正确的位置。但是 sudo R CMD javareconf 报告错误“无效的 JAVA_HOME”。发生了什么?

  2. 当我require(rJava)在 中运行时sudo R,它会给出“无法加载 libjvm.so”或“xxx 文件不存在”的错误,但require(rJava)在 中可以工作R

  3. 从 Q2 开始,require(rJava)在 中有效sudo R,但在 中无效R

  4. echo $JAVA_HOME在终端上运行的或 的输出与在 R 中使用或echo $LD_LIBRARY_PATH运行的输出不同。system("echo $JAVA_HOME")system("echo $LD_LIBRARY_PATH)

  5. 我应该安装哪种 Java?我安装了 JRE,但它不起作用。

  6. require(rJava)在终端 R 中有效,但在 RStudio 服务器中无效。

答案1

  1. 检查您的环境设置,我发现这export JAVA_HOME=xxx实际上不起作用。运行cat /etc/environment并检查JAVA_HOME变量是否设置为正确的路径。然后您必须复制并粘贴您想要的JAVA_HOME路径,并将JAVA_HOMEin设置/etc/environment为该路径。

  2. 检查你的$PATH变量*your_java_home_path*/bin中是否有你的 ld_library_path在其中。$LD_LIBRARY_PATH就是其中有的那个libjvm.so。 我不知道这个 .so 是干什么用的,但它给我带来了很多麻烦。

  3. 请参阅https://stackoverflow.com/questions/25232624/r-package-rjava-only-loads-if-i-launch-r-with-sudo

    对我没什么帮助,因为我遇到的是 Q2,而不是 Q3。但可能对你有帮助。

  4. 解决方案与Q2相同。

  5. 从 Oracle 网站安装http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

别跑apt-get install xxx。你以为这样节省了你的时间,但实际上你得到了很多你并不想要的东西。

  1. 运行sudo rstudio-server restart。当您尚未重新配置 Java 时,它仍在运行旧的 rsession。

如果还是不起作用怎么办?

完全卸载你的 Java。按照这个帖子 http://docs.oracle.com/javase/8/docs/technotes/guides/install/install_overview.html

然后按照 A5 的说明重新安装。然后/etc/environment按照 A1 和 A2 的说明设置路径。

答案2

如果你打算使用 Oracle 的 Jre 或 Jdk 而不是 Openjdk:清除所有与 Java 相关的东西,然后通过以下方式重新安装苯甲酸http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html

这样,你将以与常规 Ubuntu 更新完全相同的方式接收所有(安全)更新,使用apt-get / aptitude 更新

相关内容