当前位置: 首页 > 知识库问答 >
问题:

如何将rJava加载到RStudio中?

湛鸿
2023-03-14

虽然我有重复问题的风险,但我还没有找到配置的解决方案。

我正在尝试将rJava加载到RStudio中。

我使用的是最新的Mac OS x,Rstudio版本只有几个月的历史,我刚刚安装了JDK x64 12.0.1 rJava的版本是0.9-11

执行时:

library(rJava)

我面临着通常的情况:

错误:“rJava”的包或命名空间加载失败:。“rJava”的loadNamespace()中的onLoad失败,详细信息:调用:dyn。加载(文件,DLLpath=DLLpath,…)错误:无法加载共享对象“/Library/Frameworks/R.framework/Versions/3.5/Resources/Library/rJava/libs/rJava。so“:dlopen(/Library/Frameworks/R.framework/Versions/3.5/Resources/Library/rJava/libs/rJava.so,6):未加载库:/Library/Java/JavaVirtualMachines/jdk-11.0.1。jdk/Contents/Home/lib/server/libjvm。dylib引用自:/Library/Frameworks/R.framework/Versions/3.5/Resources/Library/rJava/libs/rJava。so原因:未找到图像

我已尝试将Java主路径设置为:

Sys.setenv(JAVA_HOME='/Library/Java/JavaVirtualMachines/jdk-12.0.1.jdk/Contents/Home')

但这没什么区别。

我显然错过了rJava说明,其中列出了如何在所有计算机设置上安装软件包。我希望得到一些帮助。

编辑#1

按照下面评论中提供的链接,我成功地通过RStudio中的rJava获得了最新版本的Java JDK。“R、Java、rJava和macOS adventures”文档不完整,无法即时使用。你可能会为了让它工作而黑客入侵。

我需要rJava来运行venneuler,不幸的是,使用最新的Oracle JDK版本12时,这是行不通的:

警告:最初的Java 12版本破坏了JNI支持,无法工作。使用稳定的Java 11(或观察12u,如果可用)。错误:rJava引导过程中发生Java异常-请参阅stderr以了解Java堆栈跟踪。

我将尝试(祝我好运)在我的机器上安装两个版本的Java,并让RStudio识别正确的版本。

编辑2

共有2个答案

陆文博
2023-03-14

我也有同样的问题,我可以通过搜索来解决它,但我不记得我到底做了什么,但我再次查看,我找到了这个答案,我希望它对你有用。您必须在终端中运行此命令。我不知道我是否可以发布链接,但我只是键入了“rjava lib Rstudio error”,然后我找到了两种不同的解决方案,所以如果这不起作用,您可以看看它们。

sudo R CMD javareconf
贡可人
2023-03-14

我的mac(OSX High Sierra v10.13.6)上也有这个问题,但按照之前的建议(重新安装JDK、R CMD javareconf或设置JAVA\u HOME)无法解决。保留了相同的错误消息:

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.5/Resources/library/rJava/libs/rJava.so':
  dlopen(/Library/Frameworks/R.framework/Versions/3.5/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.5/Resources/library/rJava/libs/rJava.so
  Reason: image not found

仔细查看错误消息后,我发现我有JDK12,但R一直在寻找libjvm。JDK11文件夹下的dylib,该文件夹在我的系统中不存在。JDK11的路径出现在Sys中。get('DYLD\u FALLBACK\u LIBRARY\u PATH'),但覆盖此变量没有帮助。戴恩也没有。加载('PATH\u TO\u YOUR\u JDK')。

然后,错误消息的倒数第二行引起了我的注意:libjvm的路径。dylib引用自rJava。所以为什么不看看这个文件?最后,我打开了rJava。因此,找到了JDK11路径并将其替换为JDK12路径,rJava加载得很好。希望这能帮助其他有同样问题的人。

R version 3.5.2 (2018-12-20)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.6

Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datahtml" target="_blank">sets  methods   base     

other attached packages:
[1] tabulizer_0.2.2 rJava_0.9-11   

loaded via a namespace (and not attached):
 [1] tabulizerjars_1.0.1 compiler_3.5.2      assertthat_0.2.1    cli_1.1.0           tools_3.5.2         withr_2.1.2        
 [7] rstudioapi_0.10     yaml_2.2.0          crayon_1.3.4        png_0.1-7           sessioninfo_1.1.1  
 类似资料:
  • 问题内容: 我最近从OSX Mountain Lion升级到优胜美地,从R 3.1.3升级到3.2。升级后,当我打开R或RStudio时,立即弹出消息,提示我需要安装rJavaJava6 。此外,加载或依赖rJava的任何软件包(例如)都导致崩溃(R也崩溃了)当我通过直接打开尝试此操作时)。 在尝试了在和其他地方(下面有更多详细信息)中找到的一些修复程序之后,我发现加载rJava或依赖的任何程序包

  • 问题内容: 我最近从OSX Mountain Lion升级到优胜美地,从R 3.1.3升级到3.2。升级后,当我打开R或时,立即弹出消息提示我需要安装 。此外,加载或依赖rJava的任何软件包(例如xlsx)都导致RStudio崩溃(R也崩溃了)当我通过R.app直接打开尝试此操作时)。 在尝试了和其他地方(下面有更多详细信息)中找到的一些修复程序之后,我发现加载或依赖的任何程序包不再导致R崩溃,

  • 所以,这基本上是我在调用rjava时遇到的错误: 库(rJava)错误:“r Java”的包或命名空间加载失败:“r Java”的.OnLoad在loadNamespace()中失败,详细信息:调用:dyn.load(file,DLLpath=DLLpath,...)错误:无法加载共享对象“/library/framework/r.framework/versions/3.6/resources/

  • 问题内容: 我在macOS sierra(10.12.5)上运行R(版本3.4.0),并且尝试使用xlsx库,该库要求使用rJava库。 当我尝试在R控制台中使用rJava加载时(无论是在RStudio中还是在终端中),都会收到以下错误消息,使我难以理解: 在这个问题上进行了搜索,我发现了许多类似的帖子(但每次都有一些不同的问题),其中最有前途的就是这个SO问题。 由于建议的步骤需要适应我的情况,

  • 问题内容: 我想加载rJava时出现错误。已安装JDK。(我在CentOS VM(cloudera演示vm cdh3u4)上运行R) 设置有问题吗?如果是,我该如何解决?我需要运行rJava才能稍后安装rhdfs。 一些更多信息(如果需要): 问题答案: 使rJava正常工作在很大程度上取决于您的计算机配置。以下内容至少在 Windows 平台上有效。您可以尝试检查一下,这是否也会对您的平台有所帮

  • 我正在运行RSTudio版本1.1.442和r3.5。当我尝试加载rJava时,我得到以下错误; 库(rJava)错误:“r Java”的包或命名空间加载失败:“r Java”的.OnLoad在loadNamespace()中失败,详细信息:调用:dyn.load(文件,DLLpath=DLLpath,...)错误:无法加载共享对象“/library/framework/r.framework/v