试着在R上安装rJava软件包,在我的14.10 ubuntu上,使用这个代码
if (!require(rJava)) install.packages('rJava')
几乎没有与包括jni问题的Java相关的错误,重新安装jdk后,并试图再次运行相同的代码,得到该错误
Error : .onLoad failed in loadNamespace() for 'rJava', details: call: dyn.load(file, DLLpath = DLLpath, ...) error: unable to load shared object '/usr/local/lib/R/site-library/rJava/libs/rJava.so': libjvm.so: cannot open shared object file: No such file or directory Error: loading failed Execution halted ERROR: loading failed * removing '/usr/local/lib/R/site-library/rJava' Warning in install.packages : installation of package 'rJava' had non-zero exit status The downloaded source packages are in '/tmp/RtmpfFjrp0/downloaded_packages' Warning message: In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, : there is no package called 'rJava'
寻找解决scheme,find几乎每个人都build议(为x64)执行这些命令
export LD_LIBRARY_PATH=/usr/lib/jvm/java-8-oracle/lib/amd64:/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server sudo R CMD javareconf
但那不起作用,还有什么我可以做的吗? 我会提供任何所需的细节
当我尝试在RStudio中加载rJava时,我遇到了同样的错误。 以下解决方案为我工作
1) sudo rstudio-server stop 2) export LD_LIBRARY_PATH=/usr/lib/jvm/jre/lib/amd64:/usr/lib/jvm/jre/lib/amd64/default 3) sudo rstudio-server start
执行上述步骤后,我能够在RStudio中成功运行以下内容
> library("DBI") > library("rJava") > library("RJDBC")
要解决这个问题,
sudo R CMD javareconf
将以下内容添加到/ etc / environment中。 这将在每次您的机器重新启动时设置。
LD_LIBRARY_PATH = / usr / lib中/ JVM /缺省的java / JRE / LIB / AMD64 /服务器/
(改变你的路径)
源/ etc /环境
如果以上都不行的话,试试这个,稍后再谢谢(通用答案:))
R CMD javareconf -e LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$JAVA_LD_LIBRARY_PATH
我每次打开RStudio时都运行以下命令解决了类似的问题。 转到包含rstudio可执行文件的文件夹,打开终端并输入:
LD_LIBRARY_PATH = / Library / Java / JavaVirtualMachines / jdk1.7.0_51.jdk / Contents / Home / jre / lib / server:open -a rstudio
当然,你必须根据你的Java版本来改变路径。
如果以前的解决方案不起作用,请阅读以下文章: http : //allanino.me/blog/programming/installing-some-r-packages/ 。
如果这个解决方案不起作用,最后的机会是安装rJava
从源代码编译它。
如果有人现在来这里,请尝试下面的方法:
脚步:
找到你的R位置。 它将被存储在rserver.conf
文件的rsession-ld-library-path
中。 或者只是通过做which R
位置通常是/usr/lib64/R/lib
或/usr/lib64/microsoft-r/3.3/lib64/R/lib
通常在usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server
路径中找到libjvm.so
文件,具体取决于您使用的是哪一个。 检入$ JAVA_HOME环境。
使用ln -s
创建符号链接sudo ln -s /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so /usr/lib64/microsoft-r/3.3/lib64/R/lib/libjvm.so
重新启动R服务器