ruby-on-rails - SQLite (3.7.17) 版本太旧。 Active Record 支持 SQLite >= 3.8

标签 ruby-on-rails sqlite amazon-ec2

我正在尝试在我的 EC2 实例中运行 Rails 6,但遇到以下错误:
Your version of SQLite (3.7.17) is too old. Active Record supports SQLite >= 3.8.
如果重要:
- 我的 gem 文件中有以下内容:gem 'sqlite3', '~> 1.4- 我正在使用以下命令:rvmsudo rails server -p 80 -b 0.0.0.0- 当我运行时 rails s在本地我没有遇到这个问题。

这与 here 的问题相同,但所选答案特定于使用 AWS Cloud9。

编辑:

这是运行后的结果sudo yum install build-essential libsqlite3-dev sqlite3 software-properties-common :

Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
No package build-essential available.
No package libsqlite3-dev available.
No package sqlite3 available.
No package software-properties-common available.
Error: Nothing to do

这是运行后的结果sudo yum install libsqlite3-devsudo yum install sqlite3 , 分别:
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
No package libsqlite3-dev available.
Error: Nothing to do
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
No package sqlite3 available.
Error: Nothing to do

编辑 2:
运行时 rails db:migrate我看到这个:
warning Skipping preferred cache folder "/home/ec2-user/.cache/yarn" because it is not writable.
warning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-1000".
** Execute db:load_config
** Execute db:migrate
rails aborted!
Your version of SQLite (3.7.17) is too old. Active Record supports SQLite >= 3.8

最佳答案

Centos7更新说明:

wget https://www.sqlite.org/2019/sqlite-autoconf-3290000.tar.gz

tar xzvf sqlite-autoconf-3290000.tar.gz

cd sqlite-autoconf-3290000

./configure --prefix=/opt/sqlite/sqlite3

make

sudo make install

/opt/sqlite/sqlite3/bin/sqlite3 --version

gem uninstall sqlite3

gem install sqlite3 -- --with-sqlite3-include=/opt/sqlite/sqlite3/include \ --with-sqlite3-lib=/opt/sqlite/sqlite3/lib

关于ruby-on-rails - SQLite (3.7.17) 版本太旧。 Active Record 支持 SQLite >= 3.8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58073262/

相关文章:

ruby-on-rails - rails 4 : wrong time in edit view with string field and TimeZone per request

ruby-on-rails - 使用延迟作业在后台处理方法

sql - sqlite 上的索引很简单

python - 如何从 lambda 函数 ssh 到 EC2 实例

django - 如果您只发送 JSON 对象,那么合适的 NGINX 配置是什么?

ruby-on-rails - 在不保存卡的情况下进行 Stripe 支付

ruby-on-rails - 使用现有版本的 Ruby 在生产服务器上添加 RVM

database - sqflite query()无法正常工作: “type ' QueryRow'不是 'Map<String, String>'类型的子类型”

ios - 选择语句 SQLite 和 iOS

session - Amazon EC2 ELB 将负载定向到其他实例和 session 存储