Mac M1Pro环境下R安装HighFreq包遇gfortran链接错误求助
解决Apple M1 Pro(macOS 13)上R安装HighFreq包的gfortran链接错误
你的核心问题是M1 Pro芯片的arm64架构与x86版本的gfortran/R不兼容,导致链接器找不到正确的库文件。以下是针对性的分步解决方案:
1. 确认R的架构版本
打开R控制台,运行以下命令:
sessionInfo()
查看Platform行:
- 如果显示
aarch64-apple-darwin22:说明是arm64原生版本R,继续下一步。 - 如果显示
x86_64-apple-darwin22:说明是通过Rosetta运行的x86版本R,建议卸载并重新安装arm64原生版本的R。
2. 安装arm64架构的gfortran
M1芯片需要适配arm64的gfortran,不要用x86版本:
- 确保你的Homebrew是arm64版本(安装路径为
/opt/homebrew,而非/usr/local)。如果之前装的是x86版本的Homebrew,先卸载后重新安装arm版本。 - 打开终端,运行以下命令安装gcc(自带arm64的gfortran):
brew install gcc
- 验证安装路径,终端运行:
which gfortran
应返回/opt/homebrew/bin/gfortran,确认是arm架构的路径。
3. 配置R的编译环境变量
创建或编辑R的编译配置文件,让R指向正确的gfortran库:
- 终端运行以下命令打开
~/.R/Makevars文件(如果文件不存在会自动创建):
nano ~/.R/Makevars
- 将以下内容粘贴到文件中:
FC = /opt/homebrew/bin/gfortran F77 = /opt/homebrew/bin/gfortran FLIBS = -L/opt/homebrew/opt/gcc/lib/gcc/current -L/opt/homebrew/opt/gcc/lib
- 按
Ctrl+O保存,Ctrl+X退出编辑器。
4. 重新安装HighFreq包
- 打开R控制台,先卸载残留的包:
remove.packages("HighFreq")
- 运行安装命令:
devtools::install_github("algoquant/HighFreq")
如果仍有问题,检查是否有其他x86版本的编译工具残留,可尝试重启电脑后再重试。
内容的提问来源于stack exchange,提问作者Cassidy
相关产品推荐
相关产品推荐

