2011-11-18 3 views
6

J'ai récemment installé Rails 3.1 et maintenant mon ancienne application Rails 3.0 ne rattrapera pas db: migrate. C'est ce qui arrive quand j'essaie de lancer bundle exec rake db:migrate. Je suis sur Ubuntu sans RVMbundle exec rake db: migrate provoque une erreur "impossible à trouver rake exécutable"

/usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler/shared_helpers.rb:142:in `block in cripple_rubygems': can't find executable rake (Gem::Exception) 
    from /usr/local/lib/ruby/gems/1.9.1/bin/rake:19:in `<main>' 

Quand je viens de lancer rake db:migrate, il sort:

rake aborted! 
You have already activated rake 0.9.2.2, but your Gemfile requires rake 0.8.7. Consider using bundle exec. 

(See full trace by running task with --trace) 

qui râteau

/usr/local/bin/rake 

Répondre

10

Mettez dans votre Gemfile:

gem 'rake' , '>= 0.9.2' 

et de lancer bundle update


vous devez donner plus de détails dans quel environnement vous utilisez ce:

  • qui OS?
  • utilisez-vous RVM?
  • est-ce une toute nouvelle configuration RVM par hasard?

1) Essayez d'exécuter ceci:

gem list | rake 

quelle sortie obtenez-vous?

2) Si vous ne voyez pas rake dans la sortie, faites ceci:

gem install rake 

puis essayez à nouveau rake db:migrate

3) Si vous voyez râteau, mais il ne fonctionne toujours pas travailler, puis le faire:

which rake 

quelle sortie obtenez-vous? il devrait ressembler à quelque chose comme ceci:

~/.rvm/gems/ruby-1.9.2-p0/bin/rake 
+0

Je suis sur Ubuntu sans RVM –

+0

gem list | sorties rake: Vous avez déjà activé rake 0.9.2.2, mais votre Gemfile nécessite rake 0.8.7. Pensez à utiliser l'exec bundle. –

+0

bien, c'est facile alors! La version plus ancienne de Rake n'est pas compatible avec Rails 3.1.1 - vous devez augmenter le numéro de version de rake dans votre Gemfile! Mettez ceci dans votre Gemfile: 'gem 'rake', '> = 0.9.2', et faites une 'mise à jour' bundle ' – Tilo