Mac系统安装sqlite3(1.4.2)时Bundler报错但系统已装sqlite3 3.32.3如何解决
修复Bundler安装sqlite3 1.4.2失败问题
这个报错的核心原因是:系统中安装的3.32.3版本是sqlite3的运行时二进制包,而Ruby的sqlite3 1.4.2 gem编译安装时需要依赖sqlite3对应的开发头文件和静态库,这部分组件默认不会随运行时包一起安装,因此会触发Bundler安装报错。
修复步骤
- 第一步:安装对应系统的sqlite3开发依赖包
- Debian/Ubuntu 发行版:执行
sudo apt install libsqlite3-dev - RHEL/CentOS/Fedora 发行版:执行
sudo dnf install sqlite-devel - macOS(Homebrew环境):执行
brew install sqlite3,之后额外执行bundle config build.sqlite3 --with-sqlite3-dir=$(brew --prefix sqlite3)手动指定sqlite3的安装路径
- Debian/Ubuntu 发行版:执行
- 第二步:重新执行bundle安装
依赖安装完成后直接运行bundle install即可正常完成sqlite3 1.4.2版本gem的安装。
异常情况处理
如果执行上述步骤后仍然报错,可以先清理已损坏的gem缓存文件:
运行 gem uninstall sqlite3 --version 1.4.2 卸载残留的损坏版本,再重新执行bundle install即可。
内容的提问来源于stack exchange,提问作者Jesus Coronado
相关产品推荐
相关产品推荐

