错误:无法刚才加载安装的软件包(error: unable to load installed pa

2019-06-18 12:31发布

当我试图在Eclipse中运行R控制台,我得到这个错误:

....Please make sure that R package 'rj' (1.1 or compatible) is installed...

于是,我就在这样的R控制台进行安装:

install.packages(c("rj", "rj.gd"), repos="http://download.walware.de/rj-1.1")

而得到这个错误:

 ** testing if installed package can be loaded
 Error : .onLoad failed in loadNamespace() for 'rj.gd', details:
 call: dyn.load(file, DLLpath = DLLpath, ...)
 error: unable to load shared object '/home/alex/R/x86_64-pc-linux-gnu-library/2.15/rj.gd/libs/rj.gd.so':
 libjvm.so: cannot open shared object file: No such file or directory
 Error: loading failed
 Execution halted
 ERROR: loading failed

而且我发现,使用安装rJava时: install.packages("rJava")得到一个类似的错误:

** testing if installed package can be loaded
Error : .onLoad failed in loadNamespace() for 'rJava', details:
call: dyn.load(file, DLLpath = DLLpath, ...)
error: unable to load shared object '/home/alex/R/x86_64-pc-linux-gnu-library/2.15/rJava/libs/rJava.so':
libjvm.so: cannot open shared object file: No such file or directory
Error: loading failed
Execution halted
ERROR: loading failed

当我运行sudo R CMD javareconf ,我得到这样的输出:

Java interpreter : /usr/bin/java
Java version     : 1.7.0
Java home path   : /usr/lib/jvm/java-7-oracle/jre
Java compiler    : /usr/bin/javac
Java headers gen.: /usr/bin/javah
Java archive tool: /usr/bin/jar
NOTE: Your JVM has a bogus java.library.path system property!
Trying a heuristic via sun.boot.library.path to find jvm library...
Java library path: $(JAVA_HOME)/lib/amd64:$(JAVA_HOME)/lib/amd64/server
JNI linker flags : -L$(JAVA_HOME)/lib/amd64 -L$(JAVA_HOME)/lib/amd64/server -ljvm
JNI cpp flags    : -I$(JAVA_HOME)/../include -I$(JAVA_HOME)/../include/linux

Updating Java configuration in /etc/R
Done.

顺便说一下,我的配置是:

Ubuntu 11.10 64bit
Eclipse 3.7
Oracle-1.7-jdk
R version 2.15.1 

Answer 1:

对于Linux(Ubuntu的)用户:如果您有甲骨文的Java(7/8)安装。 这将是在这个位置/usr/lib/jvmsudo需要访问。

创建文件/etc/ld.so.conf.d/java.conf带有以下各项:

/usr/lib/jvm/java-8-oracle/jre/lib/amd64
/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server

(取决于你的Java版本取代Java-8-甲骨文的Java 7甲骨文)

然后:

sudo ldconfig

重新启动RStudio然后安装rJava包。

要么

还另一种方法是导出LD_LIBRARY_PATH与来自命令获得的Java库路径的值R CMD javareconf -e和运行install.packages



Answer 2:

我有类似的问题,并能够通过运行来解决它

R CMD javareconf -e

将R CMD javareconf -e的输出

Java interpreter : /export/apps/jdk/JDK-1_6_0_27/jre/bin/java
Java version     : 1.6.0_27
Java home path   : /export/apps/jdk/JDK-1_6_0_27
Java compiler    : /export/apps/jdk/JDK-1_6_0_27/bin/javac
Java headers gen.: /export/apps/jdk/JDK-1_6_0_27/bin/javah
Java archive tool: /export/apps/jdk/JDK-1_6_0_27/bin/jar
Java library path: /export/apps/jdk/JDK-1_6_0_27/jre/lib/amd64/server:/export/apps/jdk/JDK-1_6_0_27/jre/lib/amd64:/export/apps/jdk/JDK-1_6_0_27/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
JNI linker flags : -L/export/apps/jdk/JDK-1_6_0_27/jre/lib/amd64/server -L/export/apps/jdk/JDK-1_6_0_27/jre/lib/amd64 -L/export/apps/jdk/JDK-1_6_0_27/jre/../lib/amd64 -L/usr/java/packages/lib/amd64 -L/usr/lib64 -L/lib64 -L/lib -L/usr/lib -ljvm
JNI cpp flags    : -I/export/apps/jdk/JDK-1_6_0_27/include -I/export/apps/jdk/JDK-1_6_0_27/include/linux

The following Java variables have been exported:
JAVA_HOME JAVA JAVAC JAVAH JAR JAVA_LIBS JAVA_CPPFLAGS JAVA_LD_LIBRARY_PATH
Running: /bin/bash

设定后LD_LIBRARY_PATH为相同的值作为JAVA_LD_LIBRARY_PATH如图中输出的上方。 我能够安装RJ。

export LD_LIBRARY_PATH=/export/apps/jdk/JDK-1_6_0_27/jre/lib/amd64/server:/export/apps/jdk/JDK-1_6_0_27/jre/lib/amd64:/export/apps/jdk/JDK-1_6_0_27/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib

运行R和然后通过安装RJ

install.packages(c("rj", "rj.gd"), repos="http://download.walware.de/rj-1.1")


Answer 3:

我找到了解决办法:

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

注:路径(Java的7-Oracle)的需要基于Java安装更新。



Answer 4:

我做了以下和它的工作对我来说:

export LD_LIBRARY_PATH=$JAVA_LD_LIBRARY_PATH
sudo R CMD javareconf

我不得不重新启动,则成为为好。



Answer 5:

多年后,我结束了在这个问题上寻找由R报告错误后,之后我就没有成功安装了一个包上,需要转移到Oracle的Java。

所有我必须做些什么来解决它:

$ sudo R CMD javareconf



Answer 6:

或只是设置在R中的图书馆吗?

我只是R中运行以下命令:

Sys.setenv(JAVA_HOME='/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server')

(通过此能够运行 “命令[R CMD javareconf” 中找到您的Java库路径替换 “/ usr / lib中/ JVM / Java的7-的OpenJDK,AMD64 / JRE / lib目录/ AMD64 /服务器”)

可能不是最完美的解决方案 - 但它为我工作!



Answer 7:

我没有过的jdk安装,我可以与修复sudo apt-get install jdk-*之后,我可以运行sudo R CMD javareconf这之前,总是吸引了错误信息。 一切都被正确地设置并没有手动tweeks需要,其中,在那之后软件包安装中的R smootly跑(需要重启)。



Answer 8:

当面对缺少limjvm.so错误,确保正确的ldpaths从标准配置中捡到/etc/R相对于一个在/usr/lib/R/etc



Answer 9:

这解决了我(的Linux,Debian的7.1.0,TC-外壳,R版本3.0.2)的LD_LIBRARY_PATH问题:

加入这一行的.cshrc:

SETENV LD_LIBRARY_PATH $ JAVA_HOME / JRE / lib中/ AMD64:$ JAVA_HOME / JRE / lib目录/ AMD64 /服务器

添加此命令到〜/ .login文件是不够的; 环境变量LD_LIBRARY_PATH仍然没有新的xterm知:回声$ LD_LIBRARY_PATH:LD_LIBRARY_PATH:未定义的变量。 (为什么??)

奇怪的是,从R作为超级用户时,不存在与发现libjvm.so没有问题。



Answer 10:

我通过只是运行与须藤R,然后运行固定此install.packages('rJava`)



Answer 11:

为我工作以上都不是,所安装的唯一的解决办法rJava在Linux操作系统Ubuntu没有任何问题是通过RScript安装基础R之后的命令:

$ sudo Rscript -e 'install.packages("rJava", repos = "http://cran.r-project.org/")'


文章来源: error: unable to load installed packages just now