问题描述
library(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 '/Users/kevin/Library/R/3.4/library/rJava/libs/rJava.so':
dlopen(/Users/kevin/Library/R/3.4/library/rJava/libs/rJava.so, 6): Library not loaded: @rpath/libjvm.dylib
Referenced from: /Users/kevin/Library/R/3.4/library/rJava/libs/rJava.so
Reason: image not found
无法加载xlsx和rJava package。和上面情况类似
原因
https://github.com/rstudio/rstudio/issues/2254
上面链接有说。简单点说,就是package "xlsx"和"rjava"需要用到libjvm.dylib,但是Rstudio/R找不到该文件。
不可行的解决方法
先安装"rJava",在安装“xlsxjars”,最后安装“xlsw”。这个方法应该不适用于本文前面所述问题。
比较麻烦的解决方法
https://stackoverflow.com/questions/17092663/64bit-libjvm-dylib-on-mac-os-x
https://github.com/rstudio/rstudio/issues/2254
修改path等等。
比较简单的方法
第一步:下载jdk-9
注意,官网已经不提供jdk-9的下载,最新版11和旧版8有提供。但是package的要求应该是jdk-9。所以百度一下,找个jdk-9。
第二步:修改名字
我所找到的jdk-9,是jdk9.0.4。rstudio会给出具体的错误信息,包括jdk-9应该在的地方。
但是因为我下载的是jdk-9.0.4,所以与package指定的路径不同。
这时候需要打开terminal,然后输入
cd /Library/Java/Javavirtualmechanics/
sudo -s (https://www.jianshu.com/p/138b98e662ed获得改名字的权限)
mv jdk-9.0.4.jdk jdk-9.jdk
第三步:重启rstudio即可。
另外还有可能出现问题的原因是下载了最新版的R 3.5,建议用回3.4.4,因为package是基于 R3.4.4写的。
。
网友评论