【问题标题】:Error : .onLoad failed in loadNamespace() for 'rJava', details while installing a package错误:“rJava”的 loadNamespace() 中的 .onLoad 失败,安装包时的详细信息
【发布时间】:2015-12-23 07:10:38
【问题描述】:

我试图使用以下命令行在 R 中安装一个包,

/R-3.2.1/bin/R CMD INSTALL /CNVPanelizer_0.99.10.tar.gz

但它会抛出如下 rJava 错误,

Error : .onLoad failed in loadNamespace() for 'rJava', details:
  call: dyn.load(file, DLLpath = DLLpath, ...)

所以我尝试了[stackover][1] ..的解决方案

但这对我没有帮助,问题仍然存在

非常感谢任何解决方案..我的 java 版本是

java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

【问题讨论】:

  • 几天前我也遇到了同样的问题。我花了一些时间来解决它,我不记得我到底做了什么。在 Linux 控制台中,echo $JAVA_HOME 的输出是什么,如果已定义:此目录是否包含在 echo $PATH 的输出中?
  • 是的,输出的路径是 JAVA /home/user/Tools/jdk1.8.0_60 问题出在 R SHELla 上,而我没有使用 Rstudio 来解决问题
  • 好的。这缩小了问题的范围。如果它不能在 R shell 中工作,它就不能在 RStudio 中工作。我认为 $JAVA_HOME 输出看起来很奇怪;我会期待像/usr/lib/jvm/java-8-oracle 这样的东西。我假设您最近安装了 Oracle Java,并且您正在使用 Linux 系统;对吗?
  • 也许this 有帮助。无论如何,我建议您确保您的 $PATH 环境变量包含 /home/user/Tools/jdk1.8.0_60/bin/
  • 我认为 CNVPanelizer 依赖于 rJava。我在尝试安装 rJava 时遇到了同样的问题,最终通过从源代码安装 rJava 作为 root 解决了这个问题(以及摆弄 R 的 java 配置,这可能有帮助,也可能没有帮助)。我采取的所有步骤都列在this answer

标签: java r


【解决方案1】:

最后这个问题通过java版本从java 8到java 7的一点变化来解决

which java
jdk1.7.0_79/bin/java

然后我创建了一个文件 /etc/ld.so.conf.d/java.conf,其中包含以下条目(作为超级用户),

/home/user/jdk1.7.0_79/jre/lib/amd64/
/home/user/jdk1.7.0_79/jre/lib/amd64/server

然后运行,

sudo ldconfig

然后重新启动 R 并解决了问题

【讨论】:

    猜你喜欢
    • 2015-07-08
    • 1970-01-01
    • 2016-10-10
    • 2015-12-03
    • 1970-01-01
    • 1970-01-01
    • 2015-01-02
    相关资源
    最近更新 更多