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

M1 Mac已安装sqlite3但gem install sqlite3报错找不到库如何解决?

根因分析

  1. 参数使用错误:--with-sqlite3-dir需要传入sqlite的安装根目录,你传入的是sqlite3可执行文件的完整路径,导致编译时无法找到对应的头文件和库文件。
  2. 架构不匹配:编译gem原生扩展时,gcc默认按x86_64架构生成代码,但你的Ruby和homebrew安装的sqlite都是arm64架构,链接时架构不匹配,导致找不到sqlite3_libversion_number函数,抛出sqlite3缺失的错误。

解决步骤

步骤1:确认终端运行架构

右键终端应用,点击「显示简介」,确认「使用Rosetta打开」选项未被勾选。重启终端后执行arch命令,输出应为arm64。

步骤2:使用正确参数安装gem

传入正确的sqlite安装根目录执行安装:

gem install sqlite3 -- --with-sqlite3-dir=/opt/homebrew/opt/sqlite

步骤3:强制指定架构编译(可选)

如果仍报架构不匹配错误,执行以下命令强制指定arm64架构编译:

ARCHFLAGS="-arch arm64" gem install sqlite3 -- --with-sqlite3-dir=/opt/homebrew/opt/sqlite

步骤4:Bundler全局配置(适用于项目使用Bundler的场景)

执行以下命令配置bundler的sqlite3编译参数,后续执行bundle install时无需再手动指定参数:

bundle config build.sqlite3 --with-sqlite3-dir=/opt/homebrew/opt/sqlite

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:27:01