2011-09-10 7 views
16

Postępuję zgodnie z instrukcjami w rails tutorial i utknąłem podczas próby użycia polecenia rusztowania.szyna sqlite błąd adaptera

Podczas pracy:

rails generate scaffold User name:string email:string 

pojawia się błąd:

C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_specification.rb:71:in `rescue in establish_connection': Please install the sqlite3 adapter: `gem install activerecord-sqlite3-adapter` (can't activate sqlite3 (~> 1.3.4), already activated sqlite3-1.3.3-x86-mingw32. Make sure all dependencies are added to Gemfile.) (RuntimeError) 

Bieg:

gem install activerecord-sqlite3-adapter 

mam błąd:

ERROR: Could not find a valid gem 'activerecord-sqlite3-adapter' (>= 0) in any repository 
ERROR: Possible alternatives: activerecord-jdbcsqlite3-adapter, activerecord-sqlserver-adapter, activerecord-nulldb-adapter, activerecord-spatialite-adapter, activerecord-simpledb-adapter 

My Gemfile wygląda następująco:

source 'http://rubygems.org' 
gem 'rails', '3.1.0' 
gem 'sqlite3', '1.3.3' 
... 

biegnę na Windows 7 x64 OS.

Wszelkie pomysły?

Odpowiedz

18

OK Znalazłem problem. Zauważyłem, że moja instalacja Rails ma zarówno SQLite 1.3.3 i 1.3.4 zmieniłem Gemfile od:

gem 'sqlite3', '1.3.3' 

do:

gem 'sqlite3', '1.3.4' 

To rozwiązało problem. Dziękuję @holger-just za skierowanie mnie do odpowiedniej linii w komunikacie o błędzie w their answer.

+1

Dodałem kopalnię dokładnie tak: gem 'sqlite3'. I to rozwiązało dla mnie ten sam problem :-) – MarlonRibunal

3

Ważną częścią komunikatu o błędzie jest ten fragment:

can't activate sqlite3 (~> 1.3.4), already activated sqlite3-1.3.3-x86-mingw32. Make sure all dependencies are added to Gemfile. 

Aby to naprawić, należy zawsze uruchamiać polecenia przez bundle exec jak tak

bundle exec rails generate scaffold User name:string email:string 

ten sposób, dajesz Bundler do przejąć pełną kontrolę nad swoim $LOAD_PATH, co prawdopodobnie rozwiąże te problemy.

+0

Dzięki @Holager exec nie udało się rozwiązać problemu, ale wskazałeś mi odpowiedni wiersz w komunikacie o błędzie. Pomogło mi to w rozwiązaniu problemu. –

2

miałem ten błąd też kupić mój problem był nieco inny. Problem polega na tym, że sqlite3-ruby jest przestarzałe, zastąpione przez sqlite3. w webcastu Michaela Hartla nadal używał starego sqlite3-ruby.

Edytowałem mój gemfile, aby używać sqlite 1.3.4 zamiast sqlite3-ruby 1.3.1. ponownie uruchomił pakiet instalacyjny i voila, problem rozwiązany!

2

Zamiast

gem install activerecord-sqlite3-adapter 

run

gem install sqlite3 
2

Również on Rails Tutorial, prowadził:

$ rake db:migrate 

uzyskałem następujący błąd:

Please install the sqlite3 adapter: gem install activerecord-sqlite3-adapter (sqlite3 is not part of the bundle. Add it to Gemfile.).

Ran:

$ gem install activerecord-sqlite3-adapter

otrzymała:

ERROR: Could not find a valid gem 'activerecord-sqlite3-adapter' (>= 0) in any repository

Zmieniono Gemfile według jednego z powyższych odpowiedzi:

gem 'sqlite3', '1.3.4'

dostał inny błąd, więc musiałem zainstalować:

$ gem install sqlite3 -v '1.3.4' 

Próbował uruchomiony $ rake db: migrować ponownie, ale mam inny problem, tym razem przypominające odpowiedź powyżej:

Please install the sqlite3 adapter: gem install activerecord-sqlite3-adapter (can't activate sqlite3 (~> 1.3.5), already activated sqlite3-1.3.4. Make sure all dependencies are added to Gemfile.)

Więc zmienił Gemfile do:

gem 'sqlite3', '1.3.5'

I dostał inny komunikat o błędzie, aby upewnić "gem install sqlite3 -v" 1.3.5 "powiedzie się (wtf ?! w porządku znowu). Zainstalowany pomyślnie, uruchomił instalację pakietu.

Tried trwania:

$ rake db:migrate 

Nic się nie stało, więc próbowałem:

$ bundle exec rails generate scaffold User name:string email:string 

Per Kolejna propozycja powyżej. I w końcu zadziałało. Samouczek ostrzegł o pracochłonnym procesie konfiguracji, ale czułem, że muszę wymieszać i dopasować przynajmniej 5 innych osób. Mam nadzieję, że to pomoże kolejnej osobie.

Powiązane problemy