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

M1 Mac执行bundle install遇x86_64架构符号未找到错误

M1 Mac下bundle install安装mysql2 0.5.3架构不匹配问题的解决方法

核心问题原因

M1 Mac为arm64架构,若brew、Ruby、MySQL等依赖混合了x86_64和arm64版本,就会出现编译时架构不匹配的报错。

解决步骤

1. 统一依赖架构为arm64

  • 卸载现有MySQL:
    brew uninstall mysql
    
  • 打开原生arm64终端(访达中找到终端,右键「显示简介」,取消勾选「使用Rosetta打开」),重新安装arm64版本的MySQL和OpenSSL:
    brew install mysql openssl
    

2. 确认Ruby版本为arm64架构

  • 检查当前Ruby架构:
    ruby -v
    
    输出需包含arm64-darwin,若显示x86_64-darwin,需重新安装对应Ruby版本:
    # 卸载旧的x86架构Ruby版本
    rbenv uninstall <你的Ruby版本号>
    # 重新安装arm64架构的Ruby
    rbenv install <你的Ruby版本号>
    # 设置本地项目使用该版本
    rbenv local <你的Ruby版本号>
    

3. 为bundle配置mysql2编译参数

  • 执行以下命令,将编译参数写入bundle配置(适配arm64的brew路径/opt/homebrew):
    bundle config build.mysql2 --with-ldflags=-L/opt/homebrew/opt/openssl/lib --with-cppflags=-I/opt/homebrew/opt/openssl/include --with-mysql-dir=/opt/homebrew/opt/mysql
    

4. 清理残留并重新安装

  • 卸载旧的mysql2 gem:
    gem uninstall mysql2 -v '0.5.3'
    
  • 清理bundle缓存:
    bundle clean --force
    
  • 重新执行安装:
    bundle install
    

补充说明

若之前使用过Rosetta下的x86版本brew,需彻底切换到arm64版本(路径为/opt/homebrew),避免依赖混合导致的架构冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 13:32:21