I'm trying to push my app to heroku but am getting this message.
Gem::LoadError: Specified 'sqlite3' for database adaptor, but the gem is not loaded.
But I did not. I don't have sqlite3 anywhere in my database.yml file
development:
adapter: postgresql
encoding: unicode
database: blog_development
pool: 5
timeout: 5000
host: localhost
test:
adapter: postgresql
database: blog_test
pool: 5
timeout: 5000
production:
adapter: postgresql
database: blog_production
pool: 5
timeout: 5000
My adapter name is psotgresql. I even opened the file myself
cat database.yml
I searched through the file but could not find postgresql. Here is my gemfile
ruby '2.1.0'
gem 'rails', '4.1.1'
group :development, :test do
gem 'pg', '0.17.1'
gem 'rspec-rails', '3.0.1'
end
group :production do
gem 'pg', '0.17.1'
gem 'rails_12factor'
end
group :test do
gem 'selenium-webdriver', '2.35.1'
gem 'capybara', '2.1.0'
end
gem 'sass-rails', '~> 4.0.2'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'sprockets-rails', '~> 2.1.3'
gem 'bootstrap-sass', '3.1.1.1'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.1.1'
group :doc do
gem 'sdoc', require: false
end
gem 'bcrypt', '~> 3.1.7'
I have pg located in the production environment here. I have ran bundle install, bundle update, git add, git commit, and git push heroku master numerous times and I still get this message.
I don't understand this. I did NOT specify sqlite3 for my database adaptor.
I'm at a loss for words.
I had to specify my sqlite3 version as 1.3.13:
gem 'sqlite3', '~> 1.3.13'
Then run bundle update
.
I've also encountered this problem. I found out that the installed sqlite3 is version 1.4.2. To solve it, I add this code:
gem 'sqlite3', '~> 1.3.6', '< 1.4'
Below is my setup:
$ rails -v
Rails 4.2.3
$ gem env
RubyGems Environment:
– RUBYGEMS VERSION: 2.5.1
– RUBY VERSION: 2.3.0 (2015-12-25 patchlevel 0) [x86_64-linux]
– INSTALLATION DIRECTORY: /home/armano/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0
– USER INSTALLATION DIRECTORY: /home/armano/.gem/ruby/2.3.0
– RUBY EXECUTABLE: /home/armano/.rbenv/versions/2.3.0/bin/ruby
– EXECUTABLE DIRECTORY: /home/armano/.rbenv/versions/2.3.0/bin
– SPEC CACHE DIRECTORY: /home/armano/.gem/specs
– SYSTEM CONFIGURATION DIRECTORY: /home/armano/.rbenv/versions/2.3.0/etc
It sounds like you might have either:
forgot to run bundle update
or bundle install
to update your Gemfile.lock
file, or
forgot to commit your Gemfile
and Gemfile.lock
changes to Git with git commit
before pushing to Heroku.
If your problem is the 2 nd case, then this question is a duplicate, I just have to find the canonical question around somewhere...
I had this issue.
I had manually removed "pg (0.17.1)" from Gemfile.lock in an attempt to cover my tracks after neglecting to put the '--without production' param in for bundle install
. Adding back solved the issue.
Had same issue when starting a rails 5.0 tutorial on cloud9 IDE (amazon). Default sqlite3 version installed by running {rails new} within the cloud editor was 3.7.17 2013-05-20
this solved my problem : gem 'sqlite3', '~> 1.4.0'
After this I succeeded to launch the "yay you're on rails page"
In test environment you not have specific DB gem. Move 'pg' gem from production and development to common.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.