рельсы соединяются с базой данных - PullRequest
1 голос
/ 08 декабря 2011

Я пытаюсь открыть консоль rails в своем недавно созданном приложении, но не могу подключиться к базе данных.Похоже, что может быть проблема с sqlite3-1.3.3 против 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)

Установка

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

Какие драгоценности я установил

$gem list

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

Я использую рельсы 3.1.1

РЕДАКТИРОВАТЬ:

Вот мой источник gemfile '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'

Запущенная установка пакета производит установку пакета $ sudo с использованием rake (0.9.2.2) ... Использование sqlite3 (1.3.3) Ваш пакет завершен!Используйте bundle show [gemname], чтобы увидеть, где установлен драгоценный камень в комплекте.

$ bundle show sqlite3
/Library/Ruby/Gems/1.8/gems/sqlite3-1.3.3

Ответы [ 2 ]

1 голос
/ 08 декабря 2011

Вы используете Rails 3.1, который использует упаковщик для управления гемами.

  1. Добавьте gem 'sqlite3' в ваш Gemfile
  2. run bundle из командной строки

Это установит драгоценные камни, необходимые вашему приложению.После этого вы сможете запустить консоль.

0 голосов
/ 09 декабря 2011

Я видел подобные ситуации в прошлом из-за отсутствия / плохих общих библиотек. Gems устанавливают код ruby, собственные привязки к библиотекам, но сами внешние библиотеки не устанавливают.

Зависимость sqlite от Ubuntu, например, равна libsqlite3-dev.

$ sudo apt-get install libsqlite3-dev

Для OSX:

Установить sqlite3 на Mac OSX?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...