You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

M1 Pro芯片Mac在R中安装car包时遭遇共享对象加载失败

问题

在R中执行install.package('car')安装car包失败,提示依赖包加载失败,依赖版本信息如下:

There are binary versions available but the source versions are later:
         binary source needs_compilation
minqa     1.2.4  1.2.5              TRUE
nloptr    2.0.0  2.0.3              TRUE
quantreg   5.88   5.94              TRUE
lme4     1.1-28 1.1-30              TRUE
car      3.0-12  3.1-1             FALSE

尝试单独安装minqa包(install.packages('minqa'))仍失败,报错信息:

Error: package or namespace load failed for ‘minqa’ in dyn.load(file, DLLpath = DLLpath, ...):
 
无法载入共享目标对象‘/Library/Frameworks/R.framework/Versions/4.0/Resources/library/00LOCK-minqa/00new/minqa/libs/minqa.so’::
    dlopen(/Library/Frameworks/R.framework/Versions/4.0/Resources/library/00LOCK-minqa/00new/minqa/libs/minqa.so, 0x0006): symbol not found in flat namespace '_bobyqa_'

错误: 载入失败
停止执行

ERROR: loading failed
* removing ‘/Library/Frameworks/R.framework/Versions/4.0/Resources/library/minqa’
Warning in install.packages :
  installation of package ‘minqa’ had non-zero exit status

设备信息:搭载M1 Pro芯片的MacBook,系统为macOS Ventura 13.0,已安装Xcode和gfortran-ARM-12.1-Monterey,无其他特殊设置。

补充环境变量检查结果:
执行Sys.getenv("PATH")输出:

> Sys.getenv("PATH")
[1] "/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Users/hansondai/Applications/quarto/bin:/Library/TeX/texbin:/usr/texbin:/Applications/RStudio.app/Contents/MacOS/quarto/bin:/Applications/RStudio.app/Contents/MacOS"

执行Sys.which("stats.dll")输出:

> Sys.which("stats.dll")
stats.dll
    ""

实际安装多个R包时都遇到“无法加载共享对象”的错误,求解决方法。

解决方法

1. 优先安装二进制版本包

M1芯片Mac编译源码包易出现架构不兼容问题,强制安装二进制版本:

install.packages("car", type = "binary")

如果car的二进制版本依赖旧版minqa等包,同样指定type="binary"安装依赖:

install.packages(c("minqa", "nloptr", "quantreg", "lme4"), type = "binary")

2. 升级R版本至兼容ARM架构的版本

当前使用的R 4.0.x版本较旧,在M1 Mac的Ventura系统上存在架构适配缺陷,建议升级到R 4.2及以上版本(原生支持ARM架构)。

3. 配置编译环境路径

确保gfortran的路径被R正确识别,在R中执行以下命令设置环境变量:

Sys.setenv(PATH = paste("/usr/local/gfortran/bin", Sys.getenv("PATH"), sep = ":"))
Sys.setenv(FC = "/usr/local/gfortran/bin/gfortran")
Sys.setenv(F77 = "/usr/local/gfortran/bin/gfortran")

设置完成后重新尝试安装源码包:

install.packages("minqa", type = "source")

4. 清理旧编译缓存

删除R包安装时生成的锁文件和临时缓存:

  • 前往路径/Library/Frameworks/R.framework/Versions/4.0/Resources/library/,删除所有带00LOCK-前缀的文件夹
  • 重启R后再尝试安装操作

5. 确认Xcode命令行工具配置

确保Xcode命令行工具已正确安装并授权:

xcode-select --install
sudo xcodebuild -license accept

内容的提问来源于stack exchange,提问作者Hanso

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 01:01:02