2013-09-02 13 views
8

Quindi, nel mio tentativo di far funzionare un ambiente di sviluppo di Ruby, mi sono imbattuto in un problema che sembra ... confondendo con questo rubacuori noob.La gemma Sqlite3 non viene caricata, gem installata e specificata nel progetto

Durante l'esecuzione del server rotaie, si avvia come previsto, ma quando si mette in localhost: 3000 per il browser web standard, risponde quanto segue:

specificato 'sqlite3' per l'adattatore di database, ma il gemma non è stata caricata Aggiungi gem 'sqlite3' al tuo Gemfile.

Ora ecco la parte confusa. Ho sqlite3 installato (la versione a 64 bit, come è quello che ho scaricato, e sto facendo funzionare un sistema operativo a 64 bit), come verificato da interrogazione gemma (ecco l'elenco completo delle gemme)

Gems

disinstallazione e reisntalling non ha funzionato bene per il problema, ma è stato installato senza intoppi. Anche il Gemfile per il progetto che sto testando questo con il folliwing

source 'https://rubygems.org' 

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' 
gem 'rails', '4.0.0' 

# Use sqlite3 as the database for Active Record 
gem 'sqlite3' 

# Use SCSS for stylesheets 
gem 'sass-rails', '~> 4.0.0' 

# Use Uglifier as compressor for JavaScript assets 
gem 'uglifier', '>= 1.3.0' 

# Use CoffeeScript for .js.coffee assets and views 
gem 'coffee-rails', '~> 4.0.0' 

# See https://github.com/sstephenson/execjs#readme for more supported runtimes 
# gem 'therubyracer', platforms: :ruby 

# Use jquery as the JavaScript library 
gem 'jquery-rails' 

# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks 
gem 'turbolinks' 

# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder 
gem 'jbuilder', '~> 1.2' 

group :doc do 
    # bundle exec rake doc:rails generates the API under doc/api. 
    gem 'sdoc', require: false 
end 

# Use ActiveModel has_secure_password 
# gem 'bcrypt-ruby', '~> 3.0.0' 

# Use unicorn as the app server 
# gem 'unicorn' 

# Use Capistrano for deployment 
# gem 'capistrano', group: :development 

# Use debugger 
# gem 'debugger', group: [:development, :test] 

Come si può vedere, sqlite3 è specificato nel Gemfile molto presto, ma per qualsiasi motivo quando provo a caricare la pagina principale , si comporta come se non fosse lì.

Particolari per questa macchina sono i seguenti, che non sono stati menzionati in precedenza nella sezione gemme:

Rails 4 Ruby 2 Windows 7

Chiunque abbia mai imbattuto in questo prima?

+0

Avete ha ottenuto la sqlite dll in path? – Bala

+0

@bala Non avevo al momento del tuo messaggio (si presume che quando si installa la gemia abbia installato tutte le dipendenze ... mostri cosa si assume assumendo), così ho scaricato sqlite3.dll da http://www.sqlite.org/download .html e inserito in E: \ Programmi \ Ruby200-x64 \ lib \ ruby ​​\ gems \ 2.0.0 \ gems \ sqlite3-1.3.8-x64-mingw32 \ lib \ sqlite3 \ 2.0 (che è parte del mio percorso se include tutte le sottodirectory) con lo stesso risultato. – canadiancreed

+0

potresti provare dopo aver rilasciato la dll in ruby ​​\ bin path. – Bala

risposta

20

Ho appena avuto questo problema anche. Vai nel tuo file Gemfile.lock e cerca la voce 'sqlite3'. Noterai che si legge sqlite3 (1.3.8-x86-mingw32). Cambiare quello in sqlite3 (1.3.8-x64-mingw32) e quindi eseguire il comando bundle install e tutto dovrebbe funzionare come normale.

0

Eseguire bundle install dall'indirizzario del progetto. Questo aggiornerà Gemfile.lock. È inoltre necessario riavviare il server Rails.

Vedere anche config/database.yml che specifica quale gem da utilizzare per il database.

development: 
    adapter: sqlite3 
    database: db/test.sqlite3 
    pool: 5 
    timeout: 5000 
1

Ho affrontato lo stesso problema e questo sembra essere il problema Env specifico di Windows 7. Il mio problema è stato risolto con la sottostante cambia

Vai nel file Gemfile.lock e aggiornare sqlite3 (1.3.8-x86-mingw32) a sqlite3 (1.3.8-x64-mingw32)

+0

QUESTO È GIUSTO! GRAZIE! – Gank

Problemi correlati