我在创建的项目中创建模型时遇到错误,错误如下,
/home/sushmitha/.rvm/gems/ruby-2.5.1/gems/bundler-2.0.1/lib/bundler/rubygems_integration.rb:408:in 'block (2 levels( in replace_gem':加载"sqlite3"活动记录适配器时出错。缺少它所依赖的宝石?无法激活 SQLEt3 (~> 1.3.6(,已经激活了 SQLEtE3-1.4.0。确保所有依赖项都添加到 Gemfile。(加载错误(
对于 rails 5.2.2 显式,将 Gemfile 更新为 sqlite 以:
gem 'sqlite3', '~> 1.3.6'
在终端使用中:
bundle update
仅供参考,此处添加以下内容,
对于 Rails 5+
,通过在处理 SQLite
数据库时为 Gemfile
中的 sqlite
gem 指定适当的版本来解决此问题:
gem 'sqlite3', '~> 1.3', '>= 1.3.6'
参考
我已经gem 'sqlite3', '~> 1.3.6'
放在group :deevelopment, :test do
里面,它对我有用。
例如:
group :development, :test do
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
gem 'sqlite3', '~> 1.3.6'
end
现在 rails 5.2.2.1 已经发布,正确且也是最简单的解决方法是将 rails 提升到该版本,因为它会将 sqlite3 限制为 1.3.6
:
# In Gemfile
gem 'rails', '~> 5.2.2.1'
然后在终端
bundle install
鉴于该版本中的安全修复,无论如何都应该这样做。