Mac M1芯片下编译安装R包minpack.lm失败的解决方法
解决M1 Pro macOS Ventura下R 4.2.2安装minpack.lm的问题
源码安装路径适配方案
即便你确认目标目录存在,R仍可能未正确识别gcc路径,可手动指定编译器路径尝试:
- 打开终端,临时设置环境变量:
export CC=/opt/homebrew/opt/gcc/bin/gcc-12 export CXX=/opt/homebrew/opt/gcc/bin/g++-12 export FC=/opt/homebrew/opt/gcc/bin/gfortran-12 - 在同一终端启动R,执行源码安装:
install.packages("minpack.lm", type = "source")
二进制安装加载失败修复
二进制安装后加载报错多因架构不兼容(M1为arm64,部分旧二进制为x86_64),可通过Rosetta 2适配:
- 找到应用程序中的R.app,右键选择「显示简介」,勾选「使用Rosetta打开」
- 重启R,执行
library(minpack.lm)尝试加载
长期适配方案:配置R编译环境
- 确认Homebrew为arm64版本(终端运行
brew config,查看CPU字段为arm64即可) - 安装适配arm64的gcc和gfortran:
brew install gcc gfortran - 新建或编辑
~/.R/Makevars文件,添加以下编译配置:CC=/opt/homebrew/opt/gcc/bin/gcc-12 CXX=/opt/homebrew/opt/gcc/bin/g++-12 FC=/opt/homebrew/opt/gcc/bin/gfortran-12 F77=/opt/homebrew/opt/gcc/bin/gfortran-12 - 保存文件后重启R,重新执行源码安装命令
内容的提问来源于stack exchange,提问作者Guilherme Salome
相关产品推荐
相关产品推荐

