RStudio中imputeLCMD包加载失败及gmm依赖架构兼容问题求助
解决
library(imputeLCMD)加载失败的架构兼容问题 问题核心
加载依赖包gmm时,系统找不到兼容架构的/usr/local/gfortran/lib/libgomp.1.dylib——现有为arm64,而gmm编译时需要x86_64h,导致共享对象加载失败。
解决方案
方案1:用Rosetta运行RStudio(最省心)
- 找到应用程序中的RStudio,右键→「显示简介」
- 勾选「使用Rosetta打开」
- 重启RStudio,重装相关包:
remove.packages(c("gmm", "imputeLCMD")) install.packages("gmm", type = "source") install.packages("imputeLCMD") - 重新执行
library(imputeLCMD)
方案2:编译适配arm64的gmm包
- 先安装适配M系列芯片的gfortran(替换现有x86版本)
- 打开终端,设置编译环境变量:
export CC=/usr/bin/clang export CXX=/usr/bin/clang++ export FC=/usr/local/gfortran/bin/gfortran export F77=/usr/local/gfortran/bin/gfortran - 在终端中启动R,安装源码版
gmm:install.packages("gmm", type = "source") - 回到RStudio,尝试加载包
方案3:强制单架构安装
- 卸载现有包后,指定单架构安装:
remove.packages("gmm") install.packages("gmm", type = "source", INSTALL_opts = "--no-multiarch") install.packages("imputeLCMD")
内容的提问来源于stack exchange,提问作者罗一晗
相关产品推荐
相关产品推荐

