sqlite3 ruby-gem 在执行时导致未定义的符号 rb_check_safe_obj

sqlite3 ruby-gem causes undefined symbol rb_check_safe_obj on execution

我正在利用 sqlite3 和活动记录。在我的本地机器上,一切都按预期工作。但是,当尝试从新的 debian 部署的数据库中读取时,出现以下错误:

ruby: symbol lookup error: /home/<redacted>/.rvm/gems/ruby-3.0.0/gems/sqlite3-1.3.13/lib/sqlite3/sqlite3_native.so: undefined symbol: rb_check_safe_obj

我已经使用

安装了 libsqlite3-dev 和 sqlite3 gem
$ gem install sqlite3 -v 1.3.13 -- --with-sqlite3-include=/usr/include --with-sqlite3-lib=/usr/lib/arm-linux-gnueabihf/

我做错了什么?

sqlite3 版本 1.3.13 似乎与 ruby 3.0.0 不兼容。

安装 ruby 版本 2.5.1 解决了该问题。

$ rvm install 2.5.1
$ rvm use 2.5.1
$ gem install bunlder
$ gem install sqlite3 -v 1.3.13 -- --with-sqlite3-include=/usr/include --with-sqlite3-lib=/usr/lib/arm-linux-gnueabihf/
$ bundle install