错误:'rJava'的包或命名空间加载失败

时间:2017-02-15 19:32:54

标签: r rjava

所以我尝试了之前提出的问题答案。但我仍然有相同的错误信息: 我正在尝试在R

中加载rJava
library(rJava) 

Error : .onLoad failed in loadNamespace() for 'rJava', details:   call: inDL(x, as.logical(local), as.logical(now), ...)   
error: unable to load shared object 'C:/Users/Lauriane/Documents/R/win-library/3.3/rJava/libs/x64/rJava.dll':   
LoadLibrary failure:  The specified module could not be found.  
Error: package or namespace load failed for ‘rJava’

请帮忙,

由于

5 个答案:

答案 0 :(得分:3)

对我来说问题是因为系统上安装了32位Java版本,但我运行的是R的64位版本。安装64位Java版本解决了rJava命名空间环境的问题。因为我运行的是32位浏览器,所以我必须手动下载64位Java版本。

答案 1 :(得分:0)

我遇到了同样的问题,并且正如之前的评论中所建议的那样,我手动安装了64位版本,选择它here。我只需重新启动R.它工作得很好。

答案 2 :(得分:0)

我有同样的问题。

据我了解,这是由于两个原因:a)R为64位而Java在32位上,b)R被安装在D:\ Documents中,而Java被安装在C:\ Programmes中

我已通过以下方式解决了该问题:

  • 卸载所有以前的Java版本
  • 同时卸载R和RStudio
  • 在名为D:\ Programmes的新文件夹中以64位安装R,Rstudio和Java
  • 对于Java,我已经将JDK和JRE安装在同一文件夹中
  • 将JAVA_HOME设置为环境变量,以确保环境变量指向bin。

答案 3 :(得分:0)

here说明了对我有用的方法。本质上,请在终端上执行sudo R CMD javareconf并重新启动。

答案 4 :(得分:0)

我将添加一个可能的解决方案,因为我尝试了上面列出的所有建议(重新安装Java x64,安装JDK和JRE,设置JAVA_HOME,sudo R CMD javareconf甚至sudo R CMD javareconf -n ,以及更多),但它们都不起作用,我不断收到以下错误:

> library(rJava)
Error: package or namespace load failed for ‘rJava’:
 .onLoad failed in loadNamespace() for 'rJava', details:
  call: dyn.load(file, DLLpath = DLLpath, ...)
  error: unable to load shared object '/Library/Frameworks/R.framework/Versions/3.6/Resources/library/rJava/libs/rJava.so':
  dlopen(/Library/Frameworks/R.framework/Versions/3.6/Resources/library/rJava/libs/rJava.so, 6): Library not loaded: /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home/lib/server/libjvm.dylib
  Referenced from: /Library/Frameworks/R.framework/Versions/3.6/Resources/library/rJava/libs/rJava.so
  Reason: image not found

有2种可能的解决方案可以帮助我解决此错误:

  • 转到Java安装位置(在我的Mac OS中为/Library/Java/JavaVirtualMachines/),您将在其中找到一个名为“ jdk-13.0.1.jdk”之类的文件夹(取决于您的JDK版本) 。将其名称更改为“ jdk-11.0.1.jdk”(或错误中提到的任何内容)应该可以解决您的问题。

但也许更好的方法是执行以下

  • 转到错误中引用的文件:/Library/Frameworks/R.framework/Versions/3.6/Resources/library/rJava/libs/rJava.so,在文本编辑器(例如TextEdit)中将其打开,然后将“ jdk-11.0.1.jdk”更改为“ jdk-13.0.1.jdk” (或者分别是错误中引用的文件夹和Java文件夹中的实际文件夹)。

这两种方法对我都有效,但后者对我来说似乎更干净一些。 希望这对某人有帮助!