美文网首页数据科学与R语言数据-R语言-图表-决策-Linux-Python
mac较为简易的解决方案:Rstudio/R 无法加载xlsx,

mac较为简易的解决方案:Rstudio/R 无法加载xlsx,

作者: 小会心 | 来源:发表于2018-11-12 16:49 被阅读0次

    问题描述

    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写的。

    相关文章

      网友评论

        本文标题:mac较为简易的解决方案:Rstudio/R 无法加载xlsx,

        本文链接:https://www.haomeiwen.com/subject/czycfqtx.html