2010-08-11 7 views
11

Possible en double:
Rails 3.0 & Ruby 1.9.2rc: Rake commands return 'already initialized constant' & stack level too deep errors. Any ideasrâteau abandonné! niveau de pile trop profond

Am en utilisant la version Ruby 1.9.1 sur windows vista. Suis l'erreur ratée ratée pour toutes les commandes de rake que j'utilise. Cela n'arrive pas dans tout mon dossier d'application. Cela se passe uniquement sur un dossier d'application spécifique.

C:\rails_project\stunetwork>rake db:reset 
(in C:/rails_project/stunetwork) 
rake aborted! 
stack level too deep 
C:/Ruby191/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:2383:in `raw_load_rak 
efile' 
(See full trace by running task with --trace) 
+2

pouvez-vous en même commande avec l'argument --trace? – shingara

Répondre

20

Essayez de placer bundle exec devant la commande rake.

bundle exec rake -T 
+0

Je ne sais pas à quoi sert le T, mais cela a fonctionné pour moi. $ bundle exec rake db: migrate – Kiran

+0

-T donne juste une liste de toutes les commandes rake possibles. –

+0

Pourquoi cela est-il nécessaire? – Ash

0

La pile des appels peuvent dépendre des gemmes que vous installez (quelques pierres précieuses les tâches monkey-patch rails) qui explique pourquoi vous rencontrer ce sur une application spécifique et non sur les autres.

Sur un système Unix, vous pouvez essayer d'utiliser la commande ulimit pour augmenter la taille de votre pile. Du côté des fenêtres, je n'ai pas encore trouvé de solution.

Selon la version de ruby ​​que vous utilisez sur les fenêtres, vous pouvez demander aux mainteneurs comment augmenter la pile.

Pour l'installateur de ruby, vous devrez installer l'environnement de compilation mingw, cloner le github repository et recompiler le rubis que vous utilisez (pas très sexy, je l'admets).

+0

J'ai aimé ça, merci! Malheureusement, ce n'était pas suffisant. J'ai mis: "ulimit -s unlimited" puis vérifié "ulimit -a" et la pile est illimitée. Il dit toujours la même erreur "pile trop profonde". Quelle doit être la raison? – YogiZoli

0

Je viens de rencontrer ce message d'erreur exact sur Ubuntu, et j'ai été capable de le résoudre par downgrading rubygems de 1.8.3 à 1.7.1.

+1

Comme Rubygems 1.7.1 a été publié le 1er avril 2011 et que cette question a été posée le 11 août 2010, il se peut que le problème ait été différent, même si les messages d'erreur étaient similaires. –

+5

@Andrew oui, c'est très probable. Cependant, comme cette solution m'a pris du temps pour résoudre mon problème, j'ai pensé que ce serait une bonne idée de l'afficher ici, même au risque de dérouter les gens de 2010. –

+0

J'ai aussi ce problème. Il semble que la version 1.8.10 soit incompatible avec rake 0.8.7. –

2

J'ai seulement eu ce problème avec ruby-1.9.2-p180 via rvm.

Passer à ruby-1.9.2-p0 a résolu le problème. try "utilisation rvm 1.9.2-p0"

+0

J'ai essayé cette solution, n'a pas fonctionné pour moi.Connaissez-vous une autre idée? – YogiZoli

+0

cela n'a pas fonctionné parce que ce n'est pas lié, ce bug a été corrigé dans rubygems 1.8.16 – mpapis

3

Vous devez mettre à jour votre gemme. J'ai rencontré cette erreur avec bijou « 1.8.10 », et fixé par la mise à niveau 1.8.16

gem update --system

+0

vrai c'était un bug et a été corrigé avec https://github.com/rubygems/rubygems/commit/7d43f1418a048bac277344df962aafd00797230b - disponible en 1.8.16 – mpapis

Questions connexes