M1 Max Mac中R语言xlsx与rJava加载失败求助
解决M1 Max Mac上R加载xlsx包的架构不兼容问题
问题根源
你当前安装的Java是x86_64架构,而M1 Max芯片的R是arm64原生架构,二者指令集不匹配,导致rJava无法加载。
解决步骤
卸载现有x86版本Java
打开终端,依次执行以下命令:sudo rm -rf /Library/Internet Plug-Ins/JavaAppletPlugin.plugin sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane执行
java -version,若提示“command not found”则卸载成功。安装arm64版本Java 8
推荐用Homebrew安装,终端执行:brew install openjdk@8 echo 'export PATH="/opt/homebrew/opt/openjdk@8/bin:$PATH"' >> ~/.zshrc source ~/.zshrc验证安装:执行
java -version,输出内容中需包含aarch64字样,确认是arm64架构。重新配置R与Java关联
终端执行:R CMD javareconf完成后重启R或RStudio。
重装rJava和xlsx包
在R控制台执行:install.packages("rJava") install.packages("xlsx")测试加载:
library(xlsx),若无报错则问题解决。
备选方案(仅应急)
如果暂时无法更换Java版本,可以用Rosetta 2运行x86版本的R:
- 找到应用程序里的R/RStudio,右键选择“显示简介”,勾选“使用Rosetta打开”,重启后即可适配x86架构的Java,但性能不如原生arm64。
内容的提问来源于stack exchange,提问作者Mike
相关产品推荐
相关产品推荐

