我们最近升级到 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