加载rJava时出错

SWR:

我想加载rJava时出现错误。已安装JDK。(我在CentOS VM(cloudera演示vm cdh3u4)上运行R)

> 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)
user2161065:

使rJava正常工作在很大程度上取决于您的计算机配置。以下内容至少在Windows平台上有效。您可以尝试检查一下,这是否也会对您的平台有所帮助。

  1. 您必须为R JDK / JRE 使用相同的 32位或64位版本混合使用永远不会奏效(至少对我而言)。
  2. 如果使用64位版本,请确保不要将JAVA_HOME设置为环境变量。如果设置了此变量,则无论何种原因,rJava都将无法工作。您可以使用以下方法检查JAVA_HOME是否设置在R中:

    Sys.getenv("JAVA_HOME")
    

如果需要设置JAVA_HOME(例如,需要用于maven或其他东西),则可以在加载rJava之前使用以下代码在R会话中将其停用:

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

在大多数情况下,这应该可以解决问题。此外,这还将解决在R7上在Win7 64位上使用rJava包的问题我借用了从R中取消设置环境变量的想法:rJava软件包安装失败

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章