加载时出错rJava(Error while loading rJava)

2019-07-03 21:18发布

我是说我想加载rJava错误。 JDK安装。 (I上运行一个CentOS VM R(Cloudera的演示VM cdh3u4))

> library(rJava)

Error : .onLoad failed in loadNamespace() for 'rJava', details:
  call: dyn.load(file, DLLpath = DLLpath, ...)
  error: unable to load shared object '/home/cloudera/R/x86_64-redhat-linux-gnu-library/2.15/rJava/libs/rJava.so':
  libjvm.so: cannot open shared object file: No such file or directory
Error: package/namespace load failed for ‘rJava’

是不是有什么毛病LD_LIBRARY_PATH设置? 如果是的话,我该如何解决呢? 我需要rJava运行以后安装rhdfs。

一些更多的信息(如果需要):

[cloudera@localhost ~]$ java -version
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode)

Answer 1:

获取rJava工作在很大程度上取决于你的电脑配置。 下面至少是工作在Windows平台上。 你可以尝试和检查,这将帮助你你的平台上了。

  1. 你必须使用相同的 32位或64位版本两种:R JDK / JRE。 这方面的一个混合物,将永远不会(至少对我来说)工作。
  2. 如果使用64位版本的确保,你不设置JAVA_HOME为enviorment变量。 如果这个变量设置,rJava不会因任何理由工作。 您可以检查您的JAVA_HOME设置在'r用:

     Sys.getenv("JAVA_HOME") 

如果你需要JAVA_HOME设置(例如,你需要它的行家或别的东西),你可以用装载rJava之前,下面的代码你的R-会话中禁用它:

if (Sys.getenv("JAVA_HOME")!="")
  Sys.setenv(JAVA_HOME="")
library(rJava)

这应该做在大多数情况下的伎俩。 此外,这将解决问题上的Win7 64位有R使用rJava包了。 我借你重置从enviorment变量的想法R:rJava包安装失败 。



Answer 2:

对于Ubuntu的,甲骨文的Java(7/8)安装。 这将是在这个位置/ usr / lib目录/ JVM和需要sudo访问。

创建文件/etc/ld.so.conf.d/java.conf带有以下各项:

/usr/lib/jvm/java-8-oracle/jre/lib/amd64
/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server

(取决于你的Java版本取代Java-8-甲骨文的Java 7甲骨文或Java-7的OpenJDK-AMD64)

然后:

sudo ldconfig

重新启动RStudio然后安装rJava包。



文章来源: Error while loading rJava