我遇到了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
已完成
答案 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。谢谢你的提示!