在 mac El Capitan 上安装和加载 rJava 时遇到问题

trouble installing and loading rJava on mac El Capitan

安装 rJava 时遇到问题,尝试了大多数故障排除步骤 here 但没有用。

返回错误

Loading required package: 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.4/Resources/library/rJava/libs/    rJava.so':

我正在使用 R/Rstudio 和 Mac El Capitan

的最新版本

我也试过方法一,没用

sudo R CMD javareconf

然后,在 R 解释器中:

install.packages('rJava', type='source')
install.packages('xlsx', type='source')

方法二

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

ln 返回错误:/usr/local/lib/libjvm.dylib:文件存在

方法三 install.packages("rJava", 输入 = "binary") 错误:tar:无法设置默认语言环境

处理默认语言环境错误

system("defaults write org.R-project.R force.LANG en_US.UTF-8")

加载 rJava 后,仍然出现同样的错误:

image not found

看起来它已安装但无法加载

我也遇到了很多麻烦,最终发现以下 SO 线程最相关:

基本上,从没有安装 rJava 开始,并在终端中启动:

  1. 形成 sym link(注意,-f 标志将覆盖现有的 link,避免您在 "method 2".
  2. 中遇到的错误

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

然后在 RStudio 中:

  1. 确保 options('java.home') 不是 NULL,并在必要时设置:

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

  1. 确保设置了 JAVA_HOMELD_LIBRARY_PATH 环境变量,如果没有设置:

Sys.setenv(JAVA_HOME='/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home') Sys.setenv(LD_LIBRARY_PATH='$JAVA_HOME/jre/lib/server')

在此之后,我可以使用

在 RStudio 中安装和加载 rJava 包
install.packages('rJava')
library(rJava)

这是我的解决方案

定义 R 库的路径,这里是 R 3.4 版本和打开目录:

cd /Library/Frameworks/R.framework/Versions/3.4/Resources/lib

删除libjvm.dylib:

rm libjvm.dylib

从 Java 库创建 link 到 libjvm.dylib,这里是 jdk1.8.0_151 版本:

ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/lib/server/libjvm.dylib libjvm.dylib

现在转到 R 或 RStudio 并尝试:

library("rJava")

我对 java 9 做了同样的事情,它运行完美 (macOS High Sierra),谢谢:

cd /Library/Frameworks/R.framework/Versions/3.4/Resources/lib
rm libjvm.dylib
ln -s /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/lib/server/libjvm.dylib libjvm.dylib

我已经尝试了该网站上的大部分建议,但 none 奏效了。对我来说唯一可行的解​​决方案是在这个 Github site 网站上。

希望这能解决您的问题。

问题是 rJava 无法在 RStudio (Version 1.0.136) 中安装。以下对我有用 (macOS Sierra version 10.12.6) (发现 here):

第 1 步:从 here

下载并安装 javaforosx.dmg

第 2 步:接下来,运行 来自 RStudio 内部的命令:

install.packages("rJava", type = 'source')