首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >升级到OSX Yosemite后,RStudio/R中的rJava加载错误

升级到OSX Yosemite后,RStudio/R中的rJava加载错误
EN

Stack Overflow用户
提问于 2015-06-09 17:33:28
回答 18查看 80.2K关注 0票数 124

我最近从OSX Mountain Lion升级到Yosemite,从R 3.1.3升级到3.2。升级后,当我打开R或RStudio时,我收到一条弹出消息,告诉我需要安装Java6。此外,加载rJava或任何依赖于rJava的包(例如,xlsx)会导致RStudio崩溃(当我直接打开R.app尝试执行此操作时,R也会崩溃)。

在尝试了在堆栈溢出和其他地方找到的一些修复程序(下面有更多详细信息)之后,我发现加载rJava或任何依赖于rJava的包不再导致R崩溃,但会导致以下错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(rJava)
Error : .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.2/Resources/library/rJava/libs/rJava.so':
  dlopen(/Library/Frameworks/R.framework/Versions/3.2/Resources/library/rJava/libs/rJava.so, 6): Library not loaded: @rpath/libjvm.dylib
  Referenced from: /Library/Frameworks/R.framework/Versions/3.2/Resources/library/rJava/libs/rJava.so
  Reason: image not found
Error: package or namespace load failed for ‘rJava’

但是,如果我从命令行调用R,然后加载rJava或任何依赖于rJava的包,它似乎可以工作(或者至少我没有得到任何错误消息)。

我尝试了许多不同的修复,其中一些尝试了几次,但我不太记得我是按什么顺序做的(我没有意识到这会是一片沼泽,也没有真正跟踪),但这里是它的要点:

  • 在我的.bash_profile中添加了以下内容(根据this SO answer):

导出JAVA_HOME="/usr/libexec/java_home -v 1.8“

导出LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/server

从命令行执行

  • Reconfigured java命令,如下所示:

sudo R CMD javareconf -n

  • 检查了options("java.home"),发现它被设置为NULL。我尝试将其设置为以下内容(根据this SO question):

options("java.home"="/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre")

  • 安装了最新的Java开发工具包,并从源代码重新安装了rJava (不记得在哪里找到的)。

在尝试所有这些方法时,我可以在不崩溃R的情况下加载rJava,但却得到了上面发布的错误消息。此外,当我退出RStudio时,它似乎正常关闭,但随后会弹出"RStudio意外退出“消息,指示程序在尝试关闭时崩溃。

我最终决定安装Java for OS X 2014-001 (Java6),因为我似乎已经没有选择了。现在,当我打开R或RStudio时,弹出消息“该软件需要Java6”不再出现。但是,我仍然收到上面发布的.onLoad failed in loadNamespace() for 'rJava'错误消息。

在回顾我已经看过的一些帖子时,我注意到了我以前错过的another SO answer,它建议使用以下命令行代码打开RStudio,该代码为RStudio提供了正确的java路径:

打开LD_LIBRARY_PATH=$(/usr/libexec/java_home)/jre/lib/server:

-a RStudio

这打开了一个RStudio窗口,我还可以加载rJava和依赖它的包,而不会出现错误。

最后,我尝试从命令行运行R(这是我以前没有做过的)。事实证明,在命令行上,加载rJava或任何依赖于rJava的包都是有效的,并且不会抛出任何错误。

因此,如果我从命令行打开rJava,并使用为RStudio提供java路径的代码(如上所述),我现在就可以让RStudio工作了。然而,我想找到一种方法来修复潜在的问题,无论它可能是什么,这样RStudio就可以以通常的Mac方式打开,而不需要命令行的繁琐。我还担心安装旧版本的Java可能会带来问题。

有没有人知道如何诊断和解决这个问题?

EN

回答 18

Stack Overflow用户

回答已采纳

发布于 2015-06-24 23:57:39

我也有同样的问题,也经历了和你一样的步骤。允许通过Finder/Spotlight启动RStudio的最后一步是将libjvm.dylib链接到/usr/local/lib:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ln -f -s $(/usr/libexec/java_home)/jre/lib/server/libjvm.dylib /usr/local/lib

添加-f标志以强制覆盖现有文件/链接

票数 280
EN

Stack Overflow用户

发布于 2015-10-20 17:43:36

在OSX El Capitan 10.11上,用户没有写入/usr/lib的权限。因此,请改用以下命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ln -s $(/usr/libexec/java_home)/jre/lib/server/libjvm.dylib /usr/local/lib
票数 53
EN

Stack Overflow用户

发布于 2015-12-28 06:55:54

您可以显式地加载libjvm.dylib,如下所示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dyn.load('/Library/Java/JavaVirtualMachines/jdk1.8.0_66.jdk/Contents/Home/jre/lib/server/libjvm.dylib')
library(rJava)
票数 29
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30738974

复制
相关文章
Bootstrap- Modal对话框如何在关闭时触发事件
下表列出了模态框中要用到事件。这些事件可在函数中当钩子使用。 事件 描述 实例 show.bs.modal 在调用 show 方法后触发。 $('#identifier').on('show.bs.modal', function () { // 执行一些动作... }) shown.bs.modal 当模态框对用户可见时触发(将等待 CSS 过渡效果完成)。 $('#identifier').on('shown.bs.modal', function () { // 执行一些动作... }) hide
johnhuster的分享
2022/03/28
2K0
如何在 Web 关闭页面时发送 Ajax 请求
有时候我们需要在用户离开页面的时候,做一些上报来记录用户行为。又或者是发送服务器ajax请求,通知服务器用户已经离开,比如直播间内的退房操作。
grain先森
2019/05/10
3.3K0
如何在 Web 关闭页面时发送 Ajax 请求
关闭对话框,OnClose和OnCancel
我们知道,在对话框中,屏蔽ESC键自己主动退出能够选择重载OnCancel为哑函数的方法:
全栈程序员站长
2022/07/12
1.1K0
QT对话框去掉帮助和关闭按钮 拦截QT关闭窗口的CloseEvent
建了一个对话框,我不想把边框去掉,只想去掉关闭按钮, setWindowFlags(windowFlags()&~Qt::WindowCloseButtonHint&~Qt::WindowContextHelpButtonHint); 结果那个问号的按钮去掉了,但是关闭按钮还在,求助啊
bear_fish
2018/09/20
7.4K0
linux下如何完全删除用户
转载:http://blog.51cto.com/wutengfei/1923446
全栈程序员站长
2022/09/05
8.2K0
删除/关闭Word文稿中的插件
每次打开word时会默认选中某个软件的插件,导致效率降低;或者因为某个插件不常用等等原因,需要删除/关闭插件,本文以关闭经常弹出的WPS插件为例。
timerring
2022/07/20
8.3K0
删除/关闭Word文稿中的插件
如何在 Ubuntu 上完全卸载 Java?
Java是一种广泛使用的编程语言和平台,但在某些情况下,您可能需要在Ubuntu系统上完全卸载Java。本文将详细介绍如何在Ubuntu上卸载Java,并清理与Java相关的文件和配置。
网络技术联盟站
2023/06/20
1.6K0
如何在 Ubuntu 上完全卸载 Java?
如何在Ubuntu中完全移除Snap
我曾经写过一篇文章,解释过为什么Snap是不受欢迎的,简而言之的话,主要原因在于:
御剑
2022/11/18
16.6K0
如何在Ubuntu中完全移除Snap
如何在 Bash Shell 脚本中显示对话框
这个教程给出几个如何使用类似zenity和whiptail的工具在Bash Shell 脚本中提供消息/对话框的例子。使用这些工具,你的脚本能够告知用户当前程序运行的状态并能与用户进行交互。这两个工具的不同之处在于显示消息框或者对话框的方式。Zenity用GTK工具包创建图形用户界面,而whiptail则在终端窗口内创建消息框。
哲洛不闹
2018/09/14
2.7K0
如何在 Bash Shell 脚本中显示对话框
outlook关闭时最小化工具
outlook本身不能支持设置点击关闭按钮时最小化,而是直接退出。 需要借助一个加载项实现: Keep Outlook Running。
编程随笔
2019/09/11
3.9K0
outlook关闭时最小化工具
python测试开发django-187.Bootstrap模态框(modal)如何在关闭时触发事件
前言 Bootstrap 模态框 (modal) 在关闭时,如何触发一些事件?比如重置表单,或者重置表单的校验。 Bootstrap 模态框 (modal) 提供了4个显示和隐藏模态框的事件。这些事件
上海-悠悠
2022/01/10
1.4K0
python测试开发django-187.Bootstrap模态框(modal)如何在关闭时触发事件
关闭Outlook时最小化 dll
用Outlook时最让我感觉不爽的就是不小心点了关闭按钮就会把Outlook关闭。 我们用软件的时候都希望软件有一个关闭时最小化功能,更希望Outlook也有这个功能 但让我很失望的是把设置里看了一个
lpxxn
2018/01/31
1.4K0
关闭Outlook时最小化 dll
如何在Python中删除(删除)文件和目录
本教程说明了如何使用os,pathlib和shutil模块中的功能删除文件和目录。
用户5005176
2021/08/10
13.1K0
WordPress删除文章时自动删除图片附件
WordPress删除文章时,文章内所上传到媒体库的图片等附件不会自动删除,占用了网站空间,因此下面说明通过几行代码的简单方式实现在删除文章时自动删除缩略图以及图片附件,这样就不用手动去媒体库寻找并删除,准确而且效率高。
你的明明呐丶
2022/06/27
8510
docker一键启动、关闭、删除命令
一键启动所有docker 容器:docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)
全栈程序员站长
2022/06/29
1.3K0
一键式完全删除CDH 6.3.1
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
用户1148526
2019/11/12
3.2K0
如何在项目中优化的展示对话框?
对话框在前端开发应用中,是一种非常常用的界面模式。对话框作为一个独立的窗口,常常被用于信息的展示,输入信息,亦或者更多其他功能。但是项目的使用过程中,在某些场景下对话框用起来会有一些麻烦。例如:
科技新语
2022/05/12
3320
删除或关闭Word中的超链接
最近使用的word老是会把一些文字内容或者标题转换成乱七八糟的格式,看的莫名其妙的,找了好久也不知道什么问题,后来一查才知道是因为这些文字包含超链接,word自动转换了。。。你说是不是莫名其妙。
marsggbo
2019/05/26
2.6K0
docker一键启动、关闭、删除命令
一键启动所有docker 容器:docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)
互联网-小阿宇
2022/11/21
8630
如何在docker中删除images
本文由腾讯云+社区自动同步,原文地址 https://stackoverflow.club/90/
羽翰尘
2019/11/20
2.5K0

相似问题

颤动对话框未完全关闭

316

无法完全关闭警报对话框

11

如何在jQuery UI对话框关闭时将其全部删除

50

如何知道对话框是否完全关闭?

27

完全隐藏with对话框而不关闭

13
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文