Linux - 在 Rstudio 中加载 rJava 时出错:libjvm.so:丢失?
Linux - Error loading rJava in Rstudio: libjvm.so: missing?
我刚刚安装了 Rstudio 并想要使用一些包,我使用 linux mint,当我尝试安装 xlsx 包时出现与 rjava 相关的错误,所以我安装了 rjava 包,但它不能被加载,相反我得到这个错误:
>library("rJava", lib.loc="/usr/lib/R/site-library")
Error : .onLoad failed in loadNamespace() for 'rJava', details:
call: dyn.load(file, DLLpath = DLLpath, ...)
error: unable to load shared object '/usr/lib/R/site-
library/rJava/libs/rJava.so':
libjvm.so: cannot open shared object file: No such file or directory
Error: package or namespace load failed for ‘rJava’
>detach("package:rJava", unload=TRUE)
Error in detach("package:rJava", unload = TRUE) : invalid 'name'
argument
我试了好几次R CMD javareconf,还是没找到问题所在
您可能想要找到库,您可以使用 whereis
命令或查看标准路径:
/usr/lib/jvm/java-7-oracle/lib/amd64
/usr/lib/jvm/java-7-oracle/jre/lib/amd64/server
找到后,复制其文件夹路径。
然后将其添加到位于 ~/.profile
的 LD_LIBRARY_PATH 环境变量中(如果需要,创建文件)。
export LD_LIBRARY_PATH=/usr/lib/jvm/java-7-oracle/lib/amd64:/usr/lib/jvm/java-7-oracle/jre/lib/amd64/server
If you already have a LD_LIBRARY_PATH set you may want to keep it, so echo $LD_LIBRARY_PATH
and add its content into the ~/.profile
file.
您可以重新启动以重新加载 .profile,或者您可以 source ~/.profile
形成一个终端。
总结 sudo R CMD javareconf
.
我刚刚安装了 Rstudio 并想要使用一些包,我使用 linux mint,当我尝试安装 xlsx 包时出现与 rjava 相关的错误,所以我安装了 rjava 包,但它不能被加载,相反我得到这个错误:
>library("rJava", lib.loc="/usr/lib/R/site-library")
Error : .onLoad failed in loadNamespace() for 'rJava', details:
call: dyn.load(file, DLLpath = DLLpath, ...)
error: unable to load shared object '/usr/lib/R/site-
library/rJava/libs/rJava.so':
libjvm.so: cannot open shared object file: No such file or directory
Error: package or namespace load failed for ‘rJava’
>detach("package:rJava", unload=TRUE)
Error in detach("package:rJava", unload = TRUE) : invalid 'name'
argument
我试了好几次R CMD javareconf,还是没找到问题所在
您可能想要找到库,您可以使用 whereis
命令或查看标准路径:
/usr/lib/jvm/java-7-oracle/lib/amd64
/usr/lib/jvm/java-7-oracle/jre/lib/amd64/server
找到后,复制其文件夹路径。
然后将其添加到位于 ~/.profile
的 LD_LIBRARY_PATH 环境变量中(如果需要,创建文件)。
export LD_LIBRARY_PATH=/usr/lib/jvm/java-7-oracle/lib/amd64:/usr/lib/jvm/java-7-oracle/jre/lib/amd64/server
If you already have a LD_LIBRARY_PATH set you may want to keep it, so
echo $LD_LIBRARY_PATH
and add its content into the~/.profile
file.
您可以重新启动以重新加载 .profile,或者您可以 source ~/.profile
形成一个终端。
总结 sudo R CMD javareconf
.