2010-10-26 7 views
17

Ich bin neu in der Programmierung (vorher nur html/css/design) versuchen RoR über das Buch Simply Rails 2 zu lernen. Allerdings möchte ich mit den neuesten Versionen beginnen von Ruby (1.9.2) und Rails (3) bin ich gezwungen, alles ohne das Buch zu konfigurieren. Ich habe viel über Google und Stackoverflow geschaut. Wenn ich rails server ausführen, verwendet es automatisch Webrick, aber ich möchte Mongrel verwenden. Ich habe die Prerelease Mongrel über gem install mongrel --pre installiert und die vorherige Version entfernt. Ich habe gelesen, dass, um Mongrel mit rails server arbeiten zu lassen, ich gem 'mongrel' zu den Gemfile hinzufügen musste, aber ich weiß nicht, welchem ​​ich es hinzufügen sollte (ich habe mehrere versucht, aber nichts geändert). So entschied ich mich bei Mischlings Dokumentation über git schauen und lernte über mongrel_rails start wenn ich laufe, dass ich diese:LoadError läuft Mongrel mit Rails3 und Ruby 1.9.2

C:\Ruby192\shovell>mongrel_rails start 
** Starting Mongrel listening at 0.0.0.0:3000 
** Starting Rails with development environment... C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0.rc.6/lib/bundler/runtime.rb:27:in 
'block in setup': You have already activated mongrel 1.2. 
0.pre2, but your Gemfile requires mongrel 1.1.5. Consider using bundle exec. (Gem::LoadError) 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0.rc.6/lib/bundler/spec_set.rb:12:in 
'block in each' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0.rc.6/lib/bundler/spec_set.rb:12:in 
'each' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0.rc.6/lib/bundler/spec_set.rb:12:in 
'each' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0.rc.6/lib/bundler/runtime.rb:17:in 
'setup' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0.rc.6/lib/bundler.rb:100:in 
'setup' 
from C:/Ruby192/shovell/config/boot.rb:8:in '<top (required)>' 
from <internal:lib/rubygems/custom_require>:29:in 'require' 
from <internal:lib/rubygems/custom_require>:29:in 'require' 
from C:/Ruby192/shovell/config/application.rb:1:in '<top (required)>' 
from <internal:lib/rubygems/custom_require>:29:in 'require' 
from <internal:lib/rubygems/custom_require>:29:in 'require' 
from C:/Ruby192/shovell/config/environment.rb:2:in '<top (required)>' 
from <internal:lib/rubygems/custom_require>:29:in 'require' 
from <internal:lib/rubygems/custom_require>:29:in 'require' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/rails.rb:147:in 
'rails' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:116:in 
'block (2 levels) in run' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/configurator.rb:149:in 
'call' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/configurator.rb:149:in 
'listener' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:102:in 
'block in run' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/configurator.rb:50:in 
'call' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/configurator.rb:50:in 
'initialize' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:86:in 
'new' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:86:in 
'run' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/command.rb:210:in 
'run' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:282:in 
'<top (required)>' 
from C:/Ruby192/bin/mongrel_rails:19:in 'load' 
from C:/Ruby192/bin/mongrel_rails:19:in '<main>'` 

Meine beste Vermutung ist, dass C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0.rc.6/lib/bundler/runtime.rb:27:in 'block in setup': You have already activated mongrel 1.2. 0.pre2, but your Gemfile requires mongrel 1.1.5. Consider using bundle exec. der Schlüssel ist, aber ich habe nicht in der Lage gewesen, es zu lösen.

Ich würde jede Hilfe zu schätzen wissen, so dass ich auf die Sprache lernen kann!

EDIT: konnte mich über die oben genannte Problem dank bekommen @duddle aber jetzt habe ich ein anderes Problem ... ich diese Störung erhalte:

C:\Ruby192\shovell>mongrel_rails start 
** Starting Mongrel listening at 0.0.0.0:3000 
** Starting Rails with development environment... C:/Ruby192/lib/ruby/gems/1.9.1/gems/activesupport-3.0.0.rc2/lib/active_support/dependencies.rb:239:in 
'req uire': no such file to load -- dispatcher (LoadError) 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/activesupport-3.0.0.rc2/lib/active_support/dependencies.rb:239:in 'block in require' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/activesupport-3.0.0.rc2/lib/active_support/dependencies.rb:225:in 'block in load_dependency' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/activesupport-3.0.0.rc2/lib/active_support/dependencies.rb:591:in 'new_constants_in' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/activesupport-3.0.0.rc2/lib/active_support/dependencies.rb:225:in 'load_dependency' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/activesupport-3.0.0.rc2/lib/active_support/dependencies.rb:239:in 'require' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/rails.rb:148:in 'rails' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:116:in' block (2 levels) in run' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/configurator.rb:149:in 'call' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/configurator.rb:149:in 'listener' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:102:in' block in run' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/configurator.rb:50:in 'call' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/configurator.rb:50:in 'initialize' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:86:in 'new' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:86:in'run' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/command.rb:210:in 'run' 
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:282:in '<top (required)>' 
from C:/Ruby192/bin/mongrel_rails:19:in 'load' 
from C:/Ruby192/bin/mongrel_rails:19:in '<main> 

Meine beste Vermutung an diesem Punkt (1am ... sehr müde) ist, dass ich eine Datei vermisse oder etwas nicht so benannt ist, wie es sein sollte. Vielleicht muss ich die :require Aktion in meinem Gemfile verwenden ... Vielleicht muss ich nur darauf schlafen. Ha.

Nochmals, danke eine Tonne @duddle für mich über den ersten Fehler! Jede weitere Hilfe wird sehr geschätzt!

+0

haben Sie erneut 'bundle install' oder/und' bundle update' ausgeführt? Versuchen Sie dann, den Server normal über 'rails server' zu starten. Nach dem Hinzufügen von 'Gem 'Mongrel',> = 1.2.0.pre2'' zu Ihrer Gemfile müssen Sie nicht mehr 'mongrel_rails start' verwenden. – crispy

+0

Haha, wachte heute morgen auf und merkte, dass ich die Zeile kommentiert hatte ("#"), hoppla. Alles ist jetzt behoben! Funktioniert mit 'rails server' Vielen Dank! ... Wenn ich mehr Reputation bekomme, komme ich zurück und gebe deine Antwort. – tehaaron

Antwort

32

You have already activated mongrel 1.2. 0.pre2, but your Gemfile requires mongrel 1.1.5. Consider using bundle exec. is the key but I have not been able to solve it.

Sie waren fast da!

gem 'mongrel', '>= 1.2.0.pre2' 

Der zweite Parameter weist Bündler eine Version gleich oder größer als 1.2.0.pre2 zu verlangen, die Sie verwenden, wenn Ruby-1.9.2 verwenden.

Die Bündler Seite bietet eine schöne Referenz, wie die Gemfile verwenden: http://gembundler.com/gemfile.html

+0

Vielen Dank, ich lese die Gebündler-Seite und konnte herausfinden, welche Gemfile zu bearbeiten sind (meine App's). Aber jetzt habe ich ein anderes Problem ... geh Figur. Bitte überprüfen Sie meine Bearbeitung – tehaaron

5

Gerade falls Sie nicht es herausfinden.

Ich habe Gem installiert "Dispatcher" und hinzugefügt Gem "Dispatcher" in der Gemfile meiner App. Dann war alles in Ordnung.

Aus der kleinen Erfahrung, die ich mit Ruby habe, jedes Mal habe ich ein "erfordern - keine solche Datei zu laden" -Problem. Weil ich ein bestimmtes Juwel vermisse.

H ...

+0

Vielen Dank! Endlich hast du meine Zeit gerettet! –

+0

Das hat mich am Ende zum nächsten Schritt gebracht. –

0

Hey, ich in dieses Problem lief, war die Lösung ganz einfach:

Fügen Sie einfach den Edelstein 'Dispatch'

;-)

+1

bringt den Fehler: nicht initialisierte Konstante Dispatch :: Source :: PROC_EXIT – appsthatmatter

+0

ja ich habe mit dem gleichen Problem zu kämpfen –

4

diese Zeile in der Edelstein-Datei hinzu:

gem 'mongrel', '>= 1.2.0.pre2' 

an der Eingabeaufforderung:

run bundle install

Start Mischlings mit diesem Befehl:

rails server 
0

Das Mischlings Juwel Ruby ist nicht kompatibel 1.9.2; Sie müssen den Edelstein "sho-mongrel" an seiner Stelle verwenden.

+3

Um hinzuzufügen und Ihre Antwort zu klären - die ** Standard ** Mongrel Juwel ist nicht kompatibel. Wenn Sie mongrel> = 1.2.0pre2 verwenden, ist es meiner Erfahrung nach mit Ruby 1.9.2 in Ordnung. Ich kenne 'Sho-Mischling' nicht, daher kann ich diesen Vorschlag nicht kommentieren. – rholmes

0

Versuchen Sie es mit installieren:

gem install mongrel --pre 

Es perfekt für mich gearbeitet !!!

Verwandte Themen