安装XLConnect与rJava包后调用library()加载失败求助
我之前帮好几个macOS用户解决过一模一样的rJava加载问题,看你的错误信息,核心是R没法正确加载rJava的共享库,大概率是Java环境和R的架构不匹配,或者系统配置没跟上。按下面的步骤一步步试,基本都能搞定:
第一步:确认Java环境是否正常
打开终端,输入以下两个命令,检查Java是否安装且版本适配:java -version javac -version注意R 3.4版本推荐搭配Java 8(不要用太新的Java 11+,兼容性可能有问题),而且必须是64位版本(macOS现在基本都是64位,这个一般没问题)。如果没装Java,直接装OpenJDK 8或者Oracle JDK 8就行。
第二步:让R重新配置Java链接
终端里执行这个命令,让R重新识别Java的路径和库文件:sudo R CMD javareconf输入你的电脑密码,执行完之后完全关闭R再重新打开,然后试一下
library(rJava)。第三步:手动设置JAVA_HOME环境变量
如果上面的命令没用,那可能是R没找到JAVA_HOME。先找到你的Java安装路径,一般是这样的格式:/Library/Java/JavaVirtualMachines/jdk1.8.0_xxx.jdk/Contents/Home(把xxx换成你实际的版本号)
然后在终端里输入:export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_xxx.jdk/Contents/Home输完之后直接在终端里启动R(输入
R),再试加载rJava。第四步:检查macOS安全设置
有时候macOS的安全机制会阻止加载第三方共享库。打开「系统偏好设置」→「安全性与隐私」,看看有没有类似“rJava.so被阻止加载”的提示,如果有,点击「允许」,然后重启R再试。第五步:从源码重新安装rJava
如果前面的方法都不行,卸载现有rJava然后从源码编译安装,确保适配你的系统:
在R里执行:remove.packages("rJava") install.packages("rJava", type = "source")安装完成后再试加载。
等rJava能正常加载了,XLConnect的问题应该也会跟着解决,因为XLConnect是依赖rJava的。
内容的提问来源于stack exchange,提问作者Kait

