M2芯片MacBook Pro安装rJava报错求助:无法编译JNI程序
解决M2 MacBook Pro上rJava安装失败的问题
针对你遇到的configure: error: Cannot compile a simple JNI program错误,结合M2芯片(ARM64架构)和x86_64版本R的环境,按以下步骤排查解决:
确认架构匹配
从错误路径看你的R是x86_64版本,而M2默认运行ARM64程序,若Java是ARM64架构,会导致JNI编译失败。终端运行以下命令确认:# 查看R架构 Rscript -e "Sys.info()['machine']" # 查看Java架构 java -version arch若R是x86_64、Java是arm64,需安装x86_64版本的JDK(如Adoptium Temurin x86_64 JDK)。
用Rosetta运行终端并配置Java环境
- 右键启动台里的「终端」,选择「新建窗口使用Rosetta」,打开x86_64环境的终端。
- 运行以下命令重新配置R的Java关联:
输入管理员密码后,按提示完成配置,确保输出中sudo R CMD javareconfJAVA_HOME指向x86_64 JDK的安装路径。
重新安装rJava
在Rosetta终端中启动R,执行安装命令:# 从CRAN安装(推荐) install.packages("rJava") # 或用本地源码包 install.packages("~/Downloads/rJava_0.9-9.tar.gz", repos = NULL, type = "source")额外排查点
- 确保
JAVA_HOME环境变量正确设置,终端运行echo $JAVA_HOME,路径需指向JDK的Contents/Home目录,例如:export JAVA_HOME=/Library/Java/JavaVirtualMachines/temurin-11.jdk/Contents/Home - 若你想使用ARM64版本的R,需先卸载x86_64版本,安装ARM64版R,再搭配ARM64版JDK重复上述配置步骤。
- 确保
内容的提问来源于stack exchange,提问作者Hassan Elleithy
相关产品推荐
相关产品推荐

