1

I'm trying to open by my rails console in my newsly created app, but I can't connect to a database. It looks like there might be a problem with sqlite3-1.3.3 vs 1.3.4

$ rails c
/Library/Ruby/Gems/1.8/gems/activerecord-3.1.1/lib/active_record/connection_adapters/abstract/connection_specification.rb:71:in `establish_connection': Please install the sqlite3 adapter: `gem install activerecord-sqlite3-adapter` (can't activate sqlite3 (~> 1.3.4, runtime), already activated sqlite3-1.3.3. Make sure all dependencies are added to Gemfile.) (RuntimeError)

Install

$sudo gem install 
ERROR:  could not find gem activerecord-sqlite3-adapter locally or in a repository

What gems I have installed

$gem list

*** LOCAL GEMS ***
...
sqlite3 (1.3.3)
sqlite3-ruby (1.3.3, 1.3.2, 1.2.5)

I'm using rails 3.1.1

EDIT:

Here is my gemfile source 'http://rubygems.org' gem 'rails', '3.1.1'

# Bundle edge Rails instead:
# gem 'rails',     :git => 'git://github.com/rails/rails.git'

gem 'sqlite3'
gem 'json'

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.1.4'
  gem 'coffee-rails', '~> 3.1.1'
  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

Running bundle install produces this $sudo bundle install using rake (0.9.2.2) ... Using sqlite3 (1.3.3) Your bundle is complete! Use bundle show [gemname] to see where a bundled gem is installed.

$ bundle show sqlite3
/Library/Ruby/Gems/1.8/gems/sqlite3-1.3.3
will
  • 3,103
  • 4
  • 25
  • 30

2 Answers2

1

You're using Rails 3.1, which uses bundler to manage gems.

  1. Add gem 'sqlite3' to your Gemfile
  2. run bundle form the command line

This will install the gems your app needs. You should then be able to launch the console.

David Sulc
  • 25,946
  • 3
  • 52
  • 54
0

I've seen similar situations in the past because of missing/bad shared libraries. Gems install ruby code, native bindings to libraries, but they do not install the external libraries themselves.

The dependency for sqlite on Ubuntu, for example, is libsqlite3-dev.

$ sudo apt-get install libsqlite3-dev

For OSX:

Install sqlite3 on mac osx?

Community
  • 1
  • 1
edk750
  • 1,115
  • 10
  • 11