rails连接到数据库

时间:2011-12-08 18:25:26

标签: ruby-on-rails

我正在尝试通过我的新闻创建的应用程序中的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)

我正在使用rails 3.1.1

编辑:

这是我的gemfile     来源'http://rubygems.org'     宝石'轨道','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'

运行bundle install会生成这个     $ sudo bundle install     使用耙子(0.9.2.2)     ...     使用sqlite3(1.3.3)     你的包很完整!使用bundle show [gemname]查看捆绑的gem的安装位置。

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

2 个答案:

答案 0 :(得分:1)

您正在使用Rails 3.1,它使用bundler来管理gem。

  1. gem 'sqlite3'添加到您的Gemfile
  2. 从命令行运行bundle
  3. 这将安装您的应用所需的宝石。然后,您应该能够启动控制台。

答案 1 :(得分:0)

由于缺少/错误的共享库,我在过去看到过类似的情况。 Gems安装ruby代码,本机绑定到库,但它们不会自己安装外部库。

例如,sqlite对Ubuntu的依赖是libsqlite3-dev。

$ sudo apt-get install libsqlite3-dev

对于OSX:

Install sqlite3 on mac osx?