升级到 Rails 6 会导致 CentOS 上的 SQLite 依赖错误



我们最近升级到 Rails 6,在尝试迁移数据库或运行测试时看到以下 SQLite 错误

rails aborted!
Your version of SQLite (3.7.17) is too old. Active Record supports SQLite >= 3.8.

我尝试做一个yum update来更新SQLite驱动程序等,但SQLite的版本在3.7.17保持不变。

如何升级SQLite软件包以使其与Rails 6一起工作?

不幸的是,yum 中可用的最新版本的 SQLite 包是3.7.17。您需要手动下载最新的SQLite RPM并自己yum install

wget https://kojipkgs.fedoraproject.org//packages/sqlite/3.8.11/1.fc21/x86_64/sqlite-devel-3.8.11-1.fc21.x86_64.rpm
wget https://kojipkgs.fedoraproject.org//packages/sqlite/3.8.11/1.fc21/x86_64/sqlite-3.8.11-1.fc21.x86_64.rpm
yum install sqlite-3.8.11-1.fc21.x86_64.rpm sqlite-devel-3.8.11-1.fc21.x86_64.rpm

然后,您可以使用以下命令验证已安装的 sqlite 版本:

sqlite3 --version

wget https://kojipkgs.fedoraproject.org/packages/sqlite/3.9.0/1.fc21/x86_64/sqlite-devel-3.9.0-1.fc21.x86_64.rpm

WGET https://kojipkgs.fedoraproject.org/packages/sqlite/3.9.0/1.fc21/x86_64/sqlite-3.9.0-1.fc21.x86_64.rpm

yum install sqlite-3.9.0-1.fc21.x86_64.rpmsqlite-devel-3.9.0-1.fc21.x86_64.rpm

最新更新