2010-02-17 11 views
12

ich diese Fehlermeldung erhalten, wenn mein Mongrel Server starten ...Wie behebe ich diesen Fehler? config.gem: Ausgepackt gem authlogic-2.1.3 in Verkäufer/Edelsteine ​​hat keine Spezifikationsdatei

$ script/server --debugger 
=> Booting Mongrel 
=> Rails 2.3.5 application starting on http://0.0.0.0:3000 
config.gem: Unpacked gem authlogic-2.1.3 in vendor/gems has no specification file. Run 'rake gems:refresh_specs' to fix this. 
=> Debugger enabled 
=> Call with -d to detach 
=> Ctrl-C to shutdown server 

Wenn ich laufen rake gems: refresh_specs wie es legt nahe, Ich bekomme jedoch einen anderen Fehler:

rake aborted! 
undefined method `installed_source_index' for #<Gem::SourceIndex:0x100551a58> 

Irgendwelche Gedanken, wie Sie das beheben?

Antwort

22

Ich bin nicht sicher, warum es in Authlogic gebrochen ist, aber ich musste es selbst erzeugen.

Versuchen Sie dies in Ihrer Rails-Projekt:

$ prompt> cd Verkäufer/Edelsteine ​​/ authlogic-2.1.3

$ prompt> gem Spezifikation authlogic> .Spezifikation

+0

wie ein Charme! Danke Kumpel :) –

+2

Dies gibt mir einen Fehler - "Fehler: Unbekanntes Juwel 'authlogic'" Irgendeine Idee, wie das zu lösen? – Elitecoder

+1

gem install authlogic - Ich hatte das gleiche Problem, ich lehrte es war bereits installiert ... – ecoologic

4

Ich werde einfach hier zu spielen, weil ich heute dasselbe erlebe, außer mit einem anderen Juwel.

Ich aktualisierte hoptoad, um den Notifier als ein Juwel anstelle eines Plugins zu verwenden, und eine der Anweisungen von der Github-Seite besteht darin, den Edelstein in Vendor/Gems zu entpacken.

Ich bin auf Mac OS X, und ich packte den Edelstein als so:

$> rake gems:unpack GEM=hoptoad_notifier 

Nachdem ich dies tat, habe ich den Fehler angegeben, und der Edelstein auspacken nicht wirklich (er schuf die Verzeichnis in Vendor/Gems, aber nicht wirklich den Edelstein ausgepackt).

löschte ich das Verzeichnis von Verkäufer/Edelsteine, und versuchte es noch einmal, wie:

$> sudo rake gems:unpack GEM=hoptoad_notifier 

dieser Zeit arbeitete, packte richtig, und kein Fehler.

1

Ich musste in Vendor/Gems/Authlogic und ‚.Spezifikation‘ aus dem .gitignore entfernen

Sobald Sie getan haben, dass Sie rake gems laufen können: refresh_specs

das Problem ist nur, dass das nächste Mal, wenn Sie dieses Juwels Upgrade der schlechten .gitignore kommen zurück

1

Ich hatte die gleichen "unbekannten GEM" -Probleme. Nach viel Faffing habe ich folgendes Rezept gefunden:

Zuerst habe ich den Edelstein mit dem Standard "Gem install authlogic" installiert, der den Edelstein in /Library/Ruby/Gems/1.8 platzierte.

In RadRails habe ich die Rake-Aufgabe "gems: unpack" verwendet, die alle für Ihre App relevanten Edelsteine ​​zu sammeln scheint und sie in/vendor/gems nach Wunsch platziert.

ich das gesamte System gem dann deinstalliert es wirklich funktioniert mit überprüfen hat: gem uninstall authlogic --install-dir =/Library/Rubin/Edelsteine ​​/ 1.8

scheint gut zu funktionieren.

0

Bau und den Edelstein vor der Installation der .Spezifikation Datei

$ prompt> cd Verkäufer/Edelsteine ​​/ authlogic-2.1.3

prompt $ Erzeugung> Edelstein bauen authlogic.gemspec

$ prompt > gem authlogic.gemspec installieren

$ prompt> gem Spezifikation authlogic> .Spezifikation