在Mac El Capitan上安装和加载rJava时出现问题

san*_*oku 6 installation r rjava

有安装rJava的问题,在这里尝试了大多数故障排除步骤并且不起作用.

这是返回错误

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':
Run Code Online (Sandbox Code Playgroud)

我是R/Rstudio和Mac El Capitan的最新版本

我也试过这种方法1,但没有用

sudo R CMD javareconf
Run Code Online (Sandbox Code Playgroud)

然后,在R解释器中:

install.packages('rJava', type='source')
install.packages('xlsx', type='source')
Run Code Online (Sandbox Code Playgroud)

方法2

sudo ln -s $(/usr/libexec/java_home)/jre/lib/server/libjvm.dylib /usr/local/lib
Run Code Online (Sandbox Code Playgroud)

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

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

处理默认的语言环境错误

system("defaults write org.R-project.R force.LANG en_US.UTF-8")
Run Code Online (Sandbox Code Playgroud)

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

image not found
Run Code Online (Sandbox Code Playgroud)

所以看起来它已经安装但不会加载

use*_*120 6

这是我的解决方案

定义R库的路径,此处为R 3.4版本并打开目录:

cd /Library/Frameworks/R.framework/Versions/3.4/Resources/lib
Run Code Online (Sandbox Code Playgroud)

删除libjvm.dylib:

rm libjvm.dylib
Run Code Online (Sandbox Code Playgroud)

从Java库(此处为jdk1.8.0_151版本)创建指向libjvm.dylib的链接:

ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/lib/server/libjvm.dylib libjvm.dylib
Run Code Online (Sandbox Code Playgroud)

现在转到R或RStudio并尝试:

library("rJava")
Run Code Online (Sandbox Code Playgroud)


Nil*_*gle -1

问题是 rJava 无法安装在RStudio( Version 1.0.136) 中。以下内容对我有用(macOS Sierra version 10.12.6)(在这里找到):

第 1 步:javaforosx.dmg此处下载并安装

步骤 2:接下来,从 RStudio 内部运行命令:

install.packages("rJava", type = 'source')
Run Code Online (Sandbox Code Playgroud)