2013-05-12 15 views
7

Sono un principiante di Ruby. Seguo i passaggi su http://rubyonrails.org/download e installato Ruby on rails e ho creato un progetto chiamato "Blog" seguendo il tutorial di youtube. http://www.youtube.com/watch?v=UQ8_VOGj5H8Impossibile trovare un'installazione gemma valida activerecord-sqlite3-adapter

Ma ogni volta che ho usato il comando rails s, darà un errore:

C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/bundler-1.3.5/lib/bundler/rubygems_integ 
ration.rb:214:in `block in replace_gem': Please install the sqlite3 adapter: `ge 
m install activerecord-sqlite3-adapter` (sqlite3 is not part of the bundle. Add 
it to Gemfile.) (LoadError) 

Questo sta accadendo a tutti e due il mio laptop e PC, entrambi si utilizza Windows 7. ho cercato di eseguire il comando gem install activerecord-sqlite3-adapter, ma poi mi dà l'errore.

C:\Users\Ouye\blog>gem install activerecord-sqlite3-adapter 
ERROR: Could not find a valid gem 'activerecord-sqlite3-adapter' (>= 0) in any 
repository 
ERROR: Possible alternatives: activerecord-jdbcsqlite3-adapter, activerecord-sq 
lserver-adapter, activerecord-bq-adapter, activerecord-simpledb-adapter, activer 
ecord-mysql2-adapter 

ho provato tutte le alternative di cui sopra e aggiornare installare il mio fagotto, alcune delle alternative funziona e altri no. Dopo aver provato tutte le alternative sopra ed eseguire "rails s", ho ancora lo stesso errore di dirmi di installare l'adattatore sqlite3.

Questo è ciò che il mio file gioiello sembra

source 'https://rubygems.org' 

gem 'rails', '3.2.13' 
gem 'sqlite3' 

group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    gem 'coffee-rails', '~> 3.2.1' 
    gem 'uglifier', '>= 1.0.3' 
end 

gem 'jquery-rails' 

e questo è tutti i bundle nella gemma

Gems included by the bundle: 
    actionmailer (3.2.13) 
    actionpack (3.2.13) 
    activemodel (3.2.13) 
    activerecord (3.2.13) 
    activeresource (3.2.13) 
    activesupport (3.2.13) 
    arel (3.0.2) 
    builder (3.0.4) 
    bundler (1.3.5) 
    coffee-rails (3.2.2) 
    coffee-script (2.2.0) 
    coffee-script-source (1.6.2) 
    erubis (2.7.0) 
    execjs (1.4.0) 
    hike (1.2.2) 
    i18n (0.6.1) 
    journey (1.0.4) 
    jquery-rails (2.2.1) 
    json (1.7.7) 
    mail (2.5.3) 
    mime-types (1.23) 
    multi_json (1.7.3) 
    polyglot (0.3.3) 
    rack (1.4.5) 
    rack-cache (1.2) 
    rack-ssl (1.3.3) 
    rack-test (0.6.2) 
    rails (3.2.13) 
    railties (3.2.13) 
    rake (10.0.4) 
    rdoc (3.12.2) 
    sass (3.2.9) 
    sass-rails (3.2.6) 
    sprockets (2.2.2) 
    thor (0.18.1) 
    tilt (1.4.1) 
    treetop (1.4.12) 
    tzinfo (0.3.37) 

sarei molto grato se qualcuno può risolvere il mio problema.

risposta

18

Non è possibile installare activerecord-sqlite3-adapter come un gioiello, poiché questo adattatore è già incluso in ActiveRecord. Il problema non è nel activerecord-sqlite3-adapter, ma in che non avete sqlite3 come parte del vostro pacco Gem (il messaggio di errore ci dice questo alla fine: "sqlite3 non è parte del bundle.")

per risolvere il problema, aggiungerlo al tuo Gemfile prima:

# in your Gemfile 
gem 'sqlite3' 

quindi eseguire da linea di comando:

$ bundle install 

Assicurarsi che sqlite3 installa correttamente e si presenta nel vostro pacco Gem, e everyt dovrebbe funzionare.

+2

gem 'sqlite3' è già nel mio file gem.Quando eseguo il comando "bundle install", mi dice che "Il tuo bundle è completo! Usa' bundle show [gemname] 'per vedere dove è installato un gem in bundle", ma sqlite3 è ancora mancante dal mio pacchetto Gem –

+0

Accetto al suo ultimo commento. Ho una piattaforma: ruby ​​do gem 'sqlite3' finisce nel mio file gemma e ha installato gem sqlite3 gem. Sono stato in grado di vederlo funzionare dagli esempi readme in irb, quindi so che quella parte funziona. È una vecchia versione di rails quando sqlite3 non era un valore predefinito. Vorrei provare a utilizzare l'ultima versione di rail. Includevano una app di esempio, quindi non dovresti avere nessun prblem che possa farlo funzionare. In bocca al lupo. –

2

Ho avuto lo stesso problema che si presenta e dopo un sacco di tentativi ed errori, ho trovato alcuni semplici passaggi per risolverlo.

In primo luogo, aggiungere al tuo Gemfile:

gem 'sqlite3', '1.3.5' 

Quindi eseguire in console:

bundle install 

E allora si dovrebbe procedere normalmente

+1

Copia-incolla una risposta non è molto utile, a meno che tu non stia aggiungendo qualcosa di nuovo alla conversazione. –

+1

Potrebbe sembrare un copia-incolla, ma la risposta di cui sopra non ha usato la versione gemma, che non ha funzionato fino a quando non l'ho aggiunta. Volevo solo condividere i passaggi esatti che ho fatto per risolvere il problema –

1

Rubino 2.0 ha problemi con sqlite3 e puo' t correre. Se hai bisogno di usare sqlite3 dovrai effettuare il downgrade alla versione 1.9.3. Non ho il link alla documentazione su questo, ma so che se si passa alla versione 1.9.3 andrà tutto bene. Vedrò se riesco a trovare il link.

Problemi correlati