2012-07-23 19 views
6

In Schienen 3 sind rails s bundler invoke, so dass Sie nicht brauchen, bundle exec rails s zu tun oder ist bundle exec erforderlich rails s in Ihren Anwendungen Gemfile Umgebung laufen zu lassen?Schienen s oder Bündel exec Schienen s

aktualisieren Es versteht sich, dass bundle exec sollten wegen unterschiedlicher Rake-Versionen vor Rake Aufgaben verwendet werden. Weitere Informationen finden Sie unter http://railsapps.github.com/installing-rails-3-1.html. Diese Frage wird Schienen über Skripte, wie:

rails s 
rails server 
rails c 
rails console 

^Sollte bundle exec vor diesen Schienen-Skripte verwendet werden, oder wird bundler durch den Schienen Befehl aufgerufen?

+0

Ich füge immer 'alias rails = 'bundles exec rails'; alias rake = 'bundle exec rake'' zu meinem bashrc. Problem gelöst. – meagar

+0

Ich glaube nicht, dass die 'alias rails = 'bundle exec rails' notwendig ist: siehe: [http://railsapps.github.com/installing-rails-3-1.html](http://railsapps. github.com/installing-rails-3-1.html) && [http://yehudakatz.com/2011/05/30/gem-versioning-and-bundler-doing-it-right/](http: //yehudakatz.com/2011/05/30/gem-versioning-and-bundler-doing-it-right/) – dylanjha

Antwort

9

Sie dieses Verhalten in Schienen bekommen sollte> = 3.1, aber Sie müssen vorsichtig sein, weil Sie eine ältere Version von Rechen kann unter Verwendung von:

Es ist eine gute Übung das Kommando Bündel exec Rake statt Rake zu verwenden Sie verwenden also die in Ihrer gemfile angegebene Version von Rake (oder eine -Abhängigkeit, die in der Datei Gemfile.lock angegeben ist) anstelle der Standardversion . Beispiel: Führen Sie anstelle von Rake db: migrate den Befehl bundle exec rake db: migrate aus.

Was Sie wissen müssen: Stellen Sie sicher, dass Sie Rake 0.9.2.2 (oder neuer) mit Gem Update Rake verwenden, bevor Sie Rails 3.1 installieren. Und verwenden Sie Bündel Exec Rechen statt Rake.

Zitat von: http://railsapps.github.com/installing-rails-3-1.html

Es sieht aus wie das Gegenteil es gilt für den Schienen-Befehl:

nicht Bündel exec vor Schienen Befehl ausführen, Schienen bereits überprüft die Anwesenheit von Bündler durch die Gemfile und richtet alles entsprechend ohne den Overhead von Bündel Exec. Der Befehl rails ist die einzige Ausnahme von der Regel.

Zitat von: - "Rails 3 mit Unterstützung mit bundler gebacken kommt ... Bündler wird Ihre Abhängigkeiten transparent verwalten" http://blog.wyeworks.com/2011/12/27/bundle-exec-rails-executes-bundler-setup-3-times

+0

Ich verstehe, dass 'bundle exec' eine gute Idee für Rake-Aufgaben ist, aber was ist mit Rails-Skripten wie' Rails Server' oder 'Rails Console'? – dylanjha

+0

Sorry für die Verwirrung ... Ich habe diese Antwort bearbeitet, um die richtige Frage zu reflektieren. – barancw

+0

Danke, dass du das geklärt hast! – dylanjha

Verwandte Themen