2010-12-03 6 views
5

ich folgendes eingegeben:Ich habe den Edelstein in Schienen hinzugefügt, aber es sagt immer noch Edelstein fehlt?

gem install omniauth 

In meiner environment.rb Datei habe ich auch:

config.gem "omniauth" 

Allerdings habe ich diese Fehler erhalten:

no such file to load -- omniauth/core 
Missing these required gems: 
    omniauth 

Ich bin verwirrt: Ich Mach ein Rake Gems: install und bekomme keinen Fehler (ich bekomme auch keine Nachricht zurück). Aber dann versuche ich Script/Server zu starten und es heißt, ich muss Rake-Gems machen: install!

Als ich die config.gem „omniauth“ von environment.rb entfernen, bekomme ich diese:

c:/Ruby187/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:443:in `load_missing_constant': unin 
itialized constant OmniAuth (NameError) 

Antwort

3

Nun, da Rails 3 mit Bündler, müssen Sie es explizit machen, dass Sie den Zugriff auf einen wollen bestimmtes Juwel in Ihrer App. Dazu gehen Sie in Ihre Gemfile (im Stammverzeichnis des Projektes) fügen Sie diese Zeile:

gem 'omniauth' 

dann bundle install im Projektverzeichnis ausführen, und Sie sollten gut zu gehen. bundle install stellt einfach sicher, dass alle Edelsteine ​​und Abhängigkeiten auf dem aktuellen System installiert sind. Viel Glück! Vorschläge

+0

hallo, ich bin immer noch auf 2.3.x - zu schwer, um auf 3 ..... irgendwelche Vorschläge zu migrieren? – Angela

+0

Das war nicht wirklich die richtige Antwort, aber ist nah dran: Ich habe Bundler auf meiner Rails 2.3.x App installiert und das scheint besser zu sein. – Angela

1

:

Do "Juwel Liste" und sehen, ob omniauth dort aufgeführt ist. Erstelle "Gem env" und finde heraus, wo die Edelsteine ​​installiert sind und ob diese Orte Teil der Edelsteinpfade sind.

Es kann jetzt nicht mehr helfen ..

+0

ja es ist aufgeführt .... :( – Angela

1

Seltsam. Nicht familliar mit OAuth mich aber zwei Dinge, die man überprüfen:

Zunächst können Sie versuchen,

rake gems:install 

in Ihrer Anwendung Wurzel. Wenn alle Abhängigkeiten ordnungsgemäß installiert sind, sollte nichts gemeldet werden.

Zweitens können Sie in die Konsole gehen und

require 'omniauth' 

und

require 'omniauth/core' 

Ist die Modullast geben? Kannst du es von der Konsole aus benutzen? Manchmal werden beim Laden des Servers Fehler beim Laden von Modulen oder Abhängigkeiten nicht angezeigt, aber sie werden in der Konsole angezeigt.

1

Ich hatte das gleiche Problem. Ich vermute, es war ein Rubygems-Problem.
Alles, was ich tun musste, ist die Verwendung rvm.
Es verwaltet mehrere Ruby-Versionen einschließlich ihrer entsprechenden Versionen von Rubygems.
Es lädt und erstellt die erforderlichen Ruby-Versionen von der Quelle, also installieren Sie zuerst alle erforderlichen Abhängigkeiten.
Das löste das Problem für mich.

0

Ich hatte das gleiche Problem mit Rails 2.3. Mit bundler gelöst, dass.

Verwandte Themen