Search code examples
rubyruby-on-rails-3postgresqlrailstutorial.orgguard

Ruby Guard questions - 'Please install the sqlite3 adapter' - railstutorial.org


I am following along the Ruby on Rails Tutorial and have gotten somewhat confused in the testing section, in particular - 3.6.2 - Automated tests with Guard

As per the tutorial's instructions for deployment to Heroku, I've switched over to Postgresql and removed sqlite3 from my gemfile and did a bundle install to update.

However, once I run

bundle exec guard

I receive the message:

/Users/username/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.1.3/lib/bundler/rubygems_integration.rb:147:in block in replace_gem': Please install the sqlite3 adapter:gem install activerecord-sqlite3-adapter` (sqlite3 is not part of the bundle. Add it to Gemfile.) (LoadError)

I'm confused why I need this as sqlite3 has been removed from my environment?

My Gemfile is as follows:

source 'https://rubygems.org'

gem 'rails', '3.2.3'
gem 'pg', '0.12.2'

group :development, :test do
  gem 'rspec-rails', '2.9.0'
  gem 'guard-rspec', '0.5.5'
end

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '3.2.4'
  gem 'coffee-rails', '3.2.2'
  gem 'uglifier', '1.2.3'
end

gem 'jquery-rails', '2.0.0'

group :test do
    gem 'rspec-rails', '2.9.0'
  gem 'capybara', '1.1.2'
  gem 'rb-fsevent', :require => false
  gem 'growl', '1.0.3'
  gem 'spork', '0.9.0'
end

I'm a bit confused because the Gemfile in the tutorial shows sqlite3 again even though it was removed in the previous section of the tutorial.


Solution

  • Update your database config file to use postgresql adapter:

    adapter: postgresql
    encoding: unicode
    database:
    username:
    password: