2011-12-08 5 views
1

뉴스 작성 앱에서 레일즈 콘솔로 열려고하는데 데이터베이스에 연결할 수 없습니다. 이 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) 

대 sqlite3-1.3.3에 문제가 내가 설치 한 어떤 보석

$gem list 

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

내가 레일을 사용하고 있습니다를

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

를 설치 할 수 것 같습니다 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' 

실행 번들 설치이 $ sudo를 번들 레이크 (0.9을 사용하여 를 설치 생산하고있다. 2.2) ... sqlite3 (1.3.3) 사용 번들이 완성되었습니다! 번들 된 보석이 설치된 곳을 확인하려면 bundle show [gemname]을 사용하십시오.

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

당신의'Gemfile' 포함 (안'Gemfile.lock'를) 무엇을? – jefflunt

+0

'bundle exec rails c'는 무엇을 출력합니까? –

답변

1

Rails 3.1은 번들러를 사용하여 보석을 관리합니다.

  1. bundle 명령 줄

이는 보석에게 앱의 요구를 설치합니다를 형성하여 Gemfile

  • 실행에 gem 'sqlite3'를 추가합니다. 그러면 콘솔을 시작할 수 있어야합니다.

  • +0

    작동하지 않음 :/gemfile에 추가하고 번들을 실행했습니다. 나는 여전히 같은 오류가 발생합니다. – will

    +0

    'gem 'sqlite3-rails'을 번들에 추가하면 어떨까요? –

    0

    공유 라이브러리가 없거나 잘못 되었기 때문에 비슷한 상황이 발생했습니다. 보석은 루비 코드, 네이티브 바인딩을 라이브러리에 설치하지만 외부 라이브러리를 직접 설치하지는 않습니다.

    우분투에서의 sqlite 의존성은 libsqlite3-dev입니다. OSX를 들어

    $ sudo apt-get install libsqlite3-dev 
    

    :

    Install sqlite3 on mac osx?