R中Zelig包安装失败求助:依赖VGAM、Amelia编译出错
解决Zelig包安装失败(依赖VGAM/Amelia编译失败)的问题
问题根源
从错误日志可以明确,核心问题是你的Apple Silicon Mac(arm64架构)缺少gfortran编译器:
sh: /opt/gfortran/bin/gfortran: No such file or directory ld: library 'gfortran' not found
Zelig 5.1.6的依赖包VGAM和Amelia包含Fortran/C++底层代码,必须依赖gfortran完成编译安装。编译器缺失导致这两个依赖安装失败,最终Zelig也无法完成安装。
解决方案
1. 安装适配Apple Silicon的gfortran编译器
推荐两种安装方式:
- Homebrew方式(优先):打开终端执行
Homebrew安装的gcc会附带gfortran,安装完成后系统会自动识别编译器路径。brew install gcc - 手动安装预编译包:下载适配Apple Silicon的gfortran安装包,安装后确保
/opt/gfortran/bin/路径被添加到系统环境变量中。
2. 重新安装依赖并安装Zelig
编译器安装完成后,先手动安装指定版本的依赖包,再安装Zelig:
# 安装Zelig所需的指定版本依赖 remotes::install_version("VGAM", "1.1-13") remotes::install_version("Amelia", "1.8.3") # 安装Zelig 5.1.6 remotes::install_version("Zelig", "5.1.6")
3. 备选:用pak包自动处理依赖(减少编译操作)
pak包会优先尝试安装二进制包,避免编译步骤,可尝试:
# 先安装pak包 install.packages("pak") # 安装指定版本的Zelig pak::pak("cran/Zelig@5.1.6")
验证安装
完成后执行以下命令确认安装成功:
library(Zelig)
内容的提问来源于stack exchange,提问作者Beerus
相关产品推荐
相关产品推荐

