仅在使用RStudio时出现rJava包加载错误(可能是LD_LIBRARY_PATH问题)

时间:2014-10-21 15:21:16

标签: r rstudio rjava

我遇到了question中讨论的相同错误消息,其中归结为:

Error : .onLoad failed in loadNamespace() for 'rJava', details:
  call: dyn.load(file, DLLpath = DLLpath, ...)
  error: unable to load shared object '/home/anh/Rlibs/rJava/libs/rJava.so':
  libjvm.so: cannot open shared object file: No such file or directory

问题是,在那里得到答案(即设置LD_LIBRARY_PATH指向libjvm.so)在命令行R解决了我的问题,但Rstudio找不到libjvm.so仍然。

系统规格:Ubuntu 14.04,R 3.1.1,Rstudio Desktop 0.98,apt-get install r-cran-rjava已完成

2 个答案:

答案 0 :(得分:7)

感谢@ hrbrmstr的评论,我在RStudio支持论坛中搜索了LD_LIBRARY_PATH并遇到了这个解决方案。

问题归结为Rstudio无法找到libjvm.so。我在LD_LIBRARY_PATH中设置/etc/environment,因此可以通过终端R加载library(rjava)。但是,Rstudio不会查看etc/environment因此不知道LD_LIBRARY_PATH 1}}。

结果:在LD_LIBRARY_PATH设置~/.profile,使其可供所有桌面应用使用(由Ubuntu wiki article on persistent environment variable建议)

export LD_LIBRARY_PATH=/usr/lib/jvm/java-7-oracle/lib/amd64:/usr/lib/jvm/java-7-oracle/jre/lib/amd64/server

然后

sudo R CMD javareconf

答案 1 :(得分:3)

是的。海森堡的建议对我有用,虽然我在~/.profile中的特定命令是

export LD_LIBRARY_PATH=/usr/lib/jvm/default-java/jre/lib/amd64:/usr/lib/jvm/default-java/jre/lib/amd64/server

现在我可以在R命令行和Rstudio中加载rJava。谢谢你的提示!