Gem :: LoadError:加载'sqlite3'Active Record适配器

时间:2018-09-24 10:46:14

标签: ruby-on-rails ruby heroku

我正在做heroku run rake db:migrate 这是错误:

  

Gem :: LoadError:加载“ sqlite3” Active Record适配器时出错。   缺少依赖的宝石吗? sqlite3不属于捆绑包。添加它   到您的Gemfile。

宝石文件:

group :production do
  gem 'pg', '~> 0.18'
end

group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
  # Use sqlite3 as the database for Active Record
  gem 'sqlite3'
end

group :development do
  # Access an interactive console on exception pages or by calling 'console' anywhere in the code.
  gem 'web-console', '>= 3.3.0'
  gem 'listen', '>= 3.0.5', '< 3.2'
  # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
  gem 'spring'
  gem 'spring-watcher-listen', '~> 2.0.0'
end

group :test do
  # Adds support for Capybara system testing and selenium driver
  gem 'capybara', '>= 2.15'
  gem 'selenium-webdriver'
  # Easy installation and use of chromedriver to run system tests with Chrome
  gem 'chromedriver-helper'
end

Database.yml

production:
  adapter: postgresql
  encoding: Unicode    

3 个答案:

答案 0 :(得分:0)

第5条及以下的轨道需要'rails_12factor'gem。...在第5条及以上的Rails不需要。

还注意到您的开发环境中没有sqlite3,这可能并不重要,只需将其放置在适当的位置即可。

答案 1 :(得分:0)

如果您尝试使用sqlite以外的其他数据库,

  1. 在gemfile中删除sqlite3并捆绑安装

  2. 删除database.yml中的sqlite3

  3. rake db:create <----------------,否则将抱怨没有db错误 浏览器

答案 2 :(得分:0)

我遇到了同样的问题,我将其降级为默认默认安装新版本的版本。

使用'gem uninstall sqlite3'删除sqlite3 gem的当前版本,然后修改GemFile以包含sqlite3版本。我的情况下,我将版本设置为“〜3.1.6”,这解决了问题