2014-12-22 9 views
6

Sto tentando (senza molto successo) per eseguire rake db:migrate su un progetto rotaie, tuttavia restituisce:Rails rastrello problema aggiornamento - Impossibile trovare il rake-10.4.2 in una qualsiasi delle fonti

Could not find rake-10.4.2 in any of the sources 
Run bundle install to install missing gems. 

I corse bundle install e funzionava bene - rastrello installato 10.4.2, ma quando mi sono imbattuto: rake --version (per qualche motivo non si può fare rake -v ???) e si vede: rake, version 0.9.6

mi sono imbattuto fascio aggiornamento rastrello e tornato la mia lista di gemme e poi: Your bundle is updated!

Perché il rake non si aggiorna? C'è qualcosa che sto facendo male (io sono nuovo alle rotaie btw - quindi questo è probabilmente davvero semplice)

Ogni aiuto è molto apprezzato

risposta

16

TL; DR: gem install rake -v '10.4.2'

Quindi, ho avuto questo problema me stesso. Volevo sapere perché rails s avrebbe funzionato ieri e non oggi.

Prima ho controllato se ero nella directory corretta, lo ero. Quindi ho ripetuto lo bundle install per assicurarmi che il rake fosse stato installato. Era, e sono stato in grado di vederlo nel mio Gemfile.lock Quindi ho pensato che il mio gemset potrebbe essere corrotto (io uso RVM). rvm gemset empty poi bundle install

Ancora, ogni volta che ho eseguito rails s, ho ricevuto questo errore. bin/rails s lavorato, nonché bundle exec rails s. Ma non voglio un prefisso, voglio che le rotaie funzionino (funziona in altri progetti di binari)

Alla fine ho provato gem install rake e ha funzionato! Raccomando di aggiungere -v '10.4.2' al comando in modo da ottenere la versione rake corretta. Ora quando I which rake, ottengo il gemset per il mio progetto: "/Users/cm022291/.rvm/gems/[email protected]_gemset/bin/rake"

e quando eseguo rails s il server si avvia correttamente.

2

Provate a digitare

bundle exec rake db:migrate 

che farà in modo che il Rake che viene invocato è quello che hai impacchettato.

+0

hmmm - Ricevo un errore: 'rastrello interrotto! LoadError: dlopen (/Users/TomHill/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/x86_64-darwin13.0.0/openssl.bundle, 9): Simbolo non trovato: _SSLv2_client_method Riferimento da:/Users/TomHill/.rvm/rubies/ruby-2.0.0-p247/lib/ruby ​​/ 2.0.0/x86_64-darwin13.0.0/openssl.bundle' - oltre a un carico di altri percorsi di file? - grazie dell'aiuto! – TomHill

+1

Hai aggiornato OpenSSL da quando hai installato quel Ruby? Sembra un errore di collegamento OpenSSL per me. –

+0

My OpenSSL è: 'OpenSSL 0.9.8za 5 giu 2014' - ok per l'esecuzione di rake? – TomHill