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

2023-12-10

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

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

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 (per 这个答案):

    导出 JAVA_HOME="/usr/libexec/java_home -v 1.8"
    导出 LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/server

  • 从命令行重新配置 java,如下所示:

    sudo R CMD javareconf -n

  • Checked options("java.home")并发现这被设置为NULL。我尝试将其设置为以下内容(每这个问题):

    选项(“java.home”=“/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre”)

  • 安装最新的Java开发工具包并重新安装rJava来自来源(不记得我在哪里找到的)。

在尝试所有这些的某个时候,我能够加载rJava没有使 R 崩溃,而是收到上面发布的错误消息。另外,当我退出RStudio时,它似乎正常关闭,但随后会弹出“RStudio意外退出”消息,表明程序在尝试关闭时崩溃了。

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

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

LD_LIBRARY_PATH=$(/usr/libexec/java_home)/jre/lib/server: open -a RStudio

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

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

所以,我现在可以得到rJava如果我使用为 RStudio 提供 java 路径的代码从命令行打开 RStudio(如上所述),则可以正常工作。然而,我想找到一种方法来解决根本问题,无论它是什么,以便 RStudio 可以以通常的 Mac 方式打开,而不需要命令行拼凑。我还担心安装旧版本的 Java 可能会导致出现问题。

有谁对如何诊断和解决这个问题有任何想法?


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

sudo ln -f -s $(/usr/libexec/java_home)/jre/lib/server/libjvm.dylib /usr/local/lib

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“升级”到 OSX Yosemite 后 RStudio/R 中的 rJava 加载错误 的相关文章

  • 在 Java 中对多语言环境字符串进行排序

    我正在尝试按字符串字段 国家 地区 对对象列表进行排序 每个国家 地区都使用其母语 阿根廷 澳大利亚 奥地利 例如 我想要做的是让 出现在 A 国家之后 因为字母 对应于拉丁语 B 我正在尝试使用默认的 Collat er 但非拉丁名称仍然
  • Spring 应用程序启动前的 Spring Boot 设置日志记录

    我有一个项目 在启动 SpringApplication 之前需要日志记录机制 我怎样才能做到这一点 我尝试设置自己的日志记录机制 LogManager getLogManager readConfiguration 但在 Spring 应
  • 使用 iText 在内存上生成在磁盘上生成的 PDF

    我正在从 Java 应用程序生成 PDF 并且效果很好 问题是 PDF 在磁盘上生成为 Document documento new Document PageSize A4 25 25 25 25 PdfWriter writer Pdf
  • 查找嵌套列表中元素的索引?

    我有一个类似的列表 mylist lt list a 1 b list A 1 B 2 c list C 1 D 3 是否有一种 无循环 方法来识别元素的位置 例如如果我想用 5 替换 C 的值 并且在哪里找到元素 C 并不重要 我可以这样
  • 如何在首次运行时填充大型 SQLite 数据库

    我正在开发一个基于 SQLite 数据库的字典应用程序 该数据库包含超过 300 000 行 问题在于 最终形式的数据库文件由全文索引表组成 并且重量远远超过150Mb 我通过创建无内容的 fts4 表设法将 db 文件大小降至最低 数据库
  • 如何仅使用命令行运行 Maven 创建的 jar 文件

    我需要一些帮助来尝试使用命令行运行以下 Maven 项目 https github com sarxos webcam capture https github com sarxos webcam capture webcam captur
  • swing - 在 JPanel 上单击组件

    好的 我有一个带有 GridLayout 的 JPanel 网格的每个单元格都包含另一个 JPanel 我希望能够做的是在 下方 JPanel 上有一个侦听器 然后它告诉我单击了哪个 覆盖 JPanel 这样我就可以对它和周围的 JPane
  • Java 相当于 C# 的 async/await?

    我是一名普通的 C 开发人员 但偶尔也会使用 Java 开发应用程序 我想知道 Java 中是否有相当于 C async await 的东西 简单来说 java 相当于 async Task
  • 使用pdfbox从pdf中提取图像

    我正在尝试使用 pdfbox 从 pdf 中提取图像 示例 pdfhere http www ignou ac in upload questionpaper CS 74 PDF 但我只得到空白图像 我正在尝试的代码 public stat
  • Android-如何在指定时间后台下载数据

    我提前很抱歉没有发布任何代码 主要是因为我一生都无法弄清楚我需要如何做我需要做的事情 基本上 在一天中的指定时间间隔 例如下午 5 点 我希望我的应用程序从我的服务器下载一些数据并将其存储在设备上 这是为了减少每次运行应用程序时下载数据对我
  • Java:字符串连接和变量替换的最佳实践[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在 Java 中连接字符串和添加变量值的方法有太多 我应该如何选择一个 优点 缺点 最佳用例等 MessageFormat forma
  • 多少次函数调用会导致堆栈溢出

    你好 Android Java 开发者 当一个函数调用一个函数并且该函数调用另一个函数等等时 有多少次调用 堆栈长度 会让我陷入堆栈溢出 有一般经验法则吗 我问的原因是因为我现在对于我的 5 人纸牌游戏来说哪个更有效 设计明智 解决方案一
  • 如何生成向量的所有组合[重复]

    这个问题在这里已经有答案了 假设我有 3 个绿球 2 个橙球和 8 个黄球 我想订购它们 鉴于所有相同颜色的球都是相同的 如何生成所有可能的序列 在 R 中 使用gregmisc 我可以 balls lt c orange orange g
  • 注意通知持续时间

    是否可以将抬头通知的持续时间设置为无限 现在它只显示 5 秒 已经尝试过不同的事情 例如更改类别 但持续时间始终为 5 秒 这是我的代码 Notification notification notificationBuilder setCa
  • 线程缓存和 Java 内存模型

    我正在尝试了解 Java 内存模型和线程 据我了解 每个线程都有 主 内存的本地副本 因此 如果一个线程尝试更改int变量 例如某个对象的变量 它会缓存int变量 如果它更改它 其他线程可能看不到更改 但是如果线程缓存一些对象而不是 int
  • R从列表中提取数据框,列名中没有前缀

    我在列表中放置了一个数据框 然后 当尝试将其提取回来时 我得到了该数据帧的所有以列表键为前缀的列名称 有没有办法完全按照最初传递的方式提取数据帧 cols lt c column1 Column2 Column3 df1 lt data f
  • R 中的 NA 替换函数

    我正在尝试替换矩阵中的 NA mat 零 我在用着mat is na mat lt 0 当我有 18946 个变量的 94531 个观察值或更小的矩阵时 效果很好 但我在 22752 个变量的 112039 个观察值的矩阵上尝试它 R 显示
  • 使用 Jsoup 选择没有类的 HTML 元素

    考虑一个像这样的 html 文档 div p p p p p class random class name p div 我们怎样才能选择所有p元素 但不包括p元素与random class name class Elements ps b
  • Jsplitpane 自动调整大小

    我有一个 JSPlitPane 它们之间有 50 的分隔线 这工作正常 但是 当我在右侧添加一些 JLabels 时 jsplitpane 会忽略我的 50 分隔符 左侧窗格会增加其大小 并会挤压右侧窗格 为什么会发生这种情况以及如何解决
  • 为什么 JDOM 的 getChild() 方法返回 null?

    我正在做一个关于 html 文档操作的项目 我想要现有 html 文档中的正文内容将其修改为新的 html 现在我正在使用 JDOM 我想在我的编码中使用 body 元素 为此 我在编码中使用了 getChild body 但它向我的程序返

随机推荐

  • 从 strings.xml 中的数组设置微调器的值

    我有一个微调器 它使用 strings xml 中的数组 如果数组有 5 个字符串 1 2 3 4 5 并且我希望微调器显示第二个 string 2 作为默认值 这可能吗 我知道我可以重新排列字符串顺序 使第一个字符串为 2 但如果旋转对话
  • 用于匹配空格或标点符号和非字母数字的正则表达式

    我有这个正则表达式 s 这与数组中的任何空格或标点符号匹配 但不是所有标点符号 我正在努力寻找与任何标点符号匹配的示例 我考虑过匹配字符不是字母数字的位置 但这会导致重音字母和不同词典的问题 是否有全包标点符号 例如 当我说标点符号时我希望
  • 使用 PyDev 出现错误: at 0x0000000002731828> [重复]

    这个问题在这里已经有答案了 我收到一个简单打印语句的错误 可能的错误是什么 已更改为浮动并尝试过 但错误仍然存 在 if name main print i i for i in range 5 error
  • Laravel 验证规则需要两个字段之一,但两个字段都不应该同时存在

    当需要两个字段中的任何一个但两个字段不应同时存在时 是否有 Laravel 验证规则 例如 手机号码和电子邮件 其中一个应该存在 但不能同时存在 不幸的是 我找不到一个 为了满足您的需求 以下是我采取的步骤 Laravel 对于制作一个的情
  • CommandParameter 与 ListView 命令绑定无关

    我没有成功从 ListView 项目发送 CommandParameter 我的代码如下
  • 第一次机会例外

    我一直在浏览 MSDN 帮助文档来掌握 Visual Basic 尝试使用计时器的示例后 将标签和计时器组件拖到设计器中 并将以下内容添加到组件子例程中 Label1 Text My Computer Clock LocalTime ToL
  • 用于多态/单表继承关联的 Rails 嵌套属性形式

    我正在开发一个表单 使用 SimpleForm 它允许您编辑嵌入的关联 我遇到的问题是嵌套模型是子类 因此它们是不同的类型 具有可能不同的字段 我正在为每种类型的模型创建隐藏表单 并使用 JavaScript 显示所选类型的表单 仅供参考
  • 向 Angular HttpClient 添加 HTTP 标头不会发送标头,为什么?

    这是我的代码 import HttpClient HttpErrorResponse HttpHeaders from angular common http logIn username string password string co
  • 使用 NumPy 将固定调色板应用于图像?

    我有一个 RGB 字节的 NumPy 图像 假设它是这个 2x3 图像 img np array 0 255 0 255 255 255 255 0 255 0 255 255 255 0 255 0 0 0 我还有一个调色板 涵盖图像中使
  • 如何使用JavaScript更新/更改HTML内容并防止页面刷新?

    我是脚本新手 我想用 JavaScript 更新 HTML 内容 但正如你所看到的 网页不断刷新 如何防止页面刷新 JavaScript function showResult form var coba form willbeshown
  • 如何将数组中的数字“加倍”,并将其保存在新数组中

    这是一个两步问题 1 我试图将一个数组 原始数组 的内容 加倍 将其保存在一个新数组 加倍数组 中 2 然后将这两个数组分配给具有 2 个属性的对象 新对象 原始号码 双数 这就是我到目前为止所拥有的 我做错了什么 var numbers
  • 如何使用数据字段获取组合框显示值?

    我已在资源编辑器中将组合框数据设置为 第一 第二 第三 但是当我编译程序时 组合框完全是空的 我根本看不到任何项目 另外 如何设置默认选择哪个项目 如何以编程方式更改当前选定的项目 答案可以在这篇文章中找到 http codeguru ea
  • 以编程方式更改 WPF 按钮背景图像

    我正在尝试创建一个
  • 根据文本文件中提供的类名创建对象?

    我想知道 在 C 中是否可以使用从文件中读取的文本值来创建该名称的类的对象 例如 contents of file MyClass code read file code instantiate MyClass object 如果可能的话
  • Laravel 按分页排序

    我有一个posts表和comments表 评论属于帖子 我在帖子和评论模型中设置了关系 我确实按照每个帖子的评论数量对帖子进行排序 如下所示 posts Post with comments gt get gt sortBy functio
  • 将法语(重音)字符放入 Ruby 文件中 [重复]

    这个问题在这里已经有答案了 可能的重复 Rails 和 Ruby 1 9 中的无效多字节字符 US ASCII 如何将法语字符放入 Ruby 文件中 这是一个错误 SyntaxError in ArticlesController show
  • 已知 IE 8 PHP 会话问题?

    我有一个通过 php 会话进行身份验证的登录系统 我的客户说 由于我已将网站移至新服务器 因此登录失败 但只有当他使用 IE 8 时 我一直无法复制这些问题 更奇怪的是 这一切都在以前的主机上运行 我不知道这是浏览器问题 服务器更改还是其他
  • 对齐装配 x86

    我无法理解align 我尝试运行以下命令 section data align 4 xs dw 0xA1A2 ys db 0xB1 0xB2 0xB3 0xB4 看看每个字节是什么 我希望它是内存中的一个连续块 如下所示 for insta
  • 从 `async fn` 返回的 future 的具体类型是什么?

    我应该使用什么类型的向量来存储 future 我尝试在同一个 URL 上发出多个并发请求 并将所有 future 保存到向量中以供使用join all 如果我没有明确设置向量的类型 则一切正常 我知道 Rust 可以找到变量的正确类型 CL
  • “升级”到 OSX Yosemite 后 RStudio/R 中的 rJava 加载错误

    我最近从 OSX Mountain Lion 升级 到 Yosemite 并从 R 3 1 3 升级 到 3 2 升级后 当我打开 R 或 RStudio 时 我收到一条弹出消息 说我需要安装 Java 6 此外 加载rJava或任何依赖于