Was bedeutet "falsch" in Gemfile?
Tut:
gem 'whenever', require: false
bedeutet, dass das gem installiert werden muss, oder bedeutet es, es ist nicht erforderlich?
InformationsquelleAutor der Frage rafamvc | 2011-01-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies bedeutet, installieren Sie das Juwel, aber nicht anrufen braucht, wenn Sie anfangen zu Bundler. So müssen Sie manuell aufrufen,
wenn Sie wollen, die Bibliothek zu benutzen.
Wenn Sie waren zu tun,
dann bundler download würde der Edelstein benannt, Wann auch immer, aber nennen würde
Dies wird oft verwendet, wenn der name der Bibliothek zu verlangen, ist anders als der name des Edelsteins.
InformationsquelleAutor der Antwort Rob Di Marco
Verwenden Sie
:require => false
wenn Sie möchten, dass die gem installiert werden, aber nicht "erforderlich".So, in dem Beispiel, das Sie gegeben:
gem 'whenever', :require => false
wenn jemand läuft, bundle installieren, wenn gem installiert werden würde, als mit
gem install whenever
. Wenn verwendet, zum erstellen von cron-jobs durch die Ausführung einer Rechen Aufgabe aber ist in der Regel nicht verwendet, innerhalb der Schienen (oder anderen Rahmen, wenn nicht rails) Anwendung.So können Sie
:require => false
für alles, was Sie brauchen, um von der Befehlszeile aus ausgeführt, müssen aber nicht in Ihrem code.InformationsquelleAutor der Antwort gduq
require: false
sagtBundler.require
nicht zu verlangen, dass bestimmte gem: das Juwel muss erforderlich sein, die explizit überrequire 'gem'
.Diese option hat nicht beeinflussen:
bundle install
: der Edelstein wird installiert, unabhängigden
require
Suchpfad setup von bundler.Bundler fügt die Dinge auf den Pfad, wenn Sie entweder:
Bundle.setup
require bundler/setup
bundle exec
Beispiel
Gemfile
main.rb
Dann die folgenden nicht zu erhöhen Ausnahmen:
Auf GitHub für Sie zu spielen.
Schienen Nutzung
Wie in der Initialisierung tutorialdie Standard-Rails-template ausgeführt wird auf Start:
config/boot.rb
config/application.rb
config/boot.rb
enthält:die nicht die
require 'bundler/setup'
aus und stellt das verlangen Weg.config/application.rb
:welche tatsächlich erfordert die Edelsteine.
InformationsquelleAutor der Antwort Ciro Santilli 新疆改造中心 六四事件 法轮功
Wann immer Sie geben Sie einen Edelstein in Ihrem
Gemfile
und führenbundle install
bundler gehen und installieren angegeben Edelstein-und load-code für das Juwel in Sie app, indem Sierequire 'whenever'
diese Weise bundler laden-code für alle Ihre Gems und Rails-app, und Sie können aufrufen jeder Methode, von jedem Edelstein ohne Schmerzen,wie Sie tun, die meisten der Zeit.aber Perlen wie
whenever,faker or capistrano
sind etwas, das müssen Sie nicht in Ihrem app-code, den Sie benötigen, wenn Sie code in Ihreschedule.rb
Datei verwalten crons und capistrano code indeploy.rb
- Datei zum anpassen von deployment-Rezept, so dass Sie brauchen nicht zu laden, die code für diese Edelsteine in Ihrem app-codeund wo immer Sie wollen, rufen Sie eine Methode aus, diese Edelsteine können Sie manuell benötigen thsese Edelsteine von selbst, indem Sie
require "whenever"
. so stellen Sie:require => false
in Ihrem Gemfile für diese Edelsteine, die auf diese Weise bundler installiert werden, dass Gem aber nicht laden-code für das Juwel selbst, Sie können es tun, Wann immer Sie wollen, indem Sie wie erforderlich 'wenn' in diesem Fall.InformationsquelleAutor der Antwort Subhash Chandra
Um zu verlangen, Edelsteine in Ihrem Gemfile, müssen Sie rufen
Bundler.require
.Können Sie verhindern, dass bundler aus dass der Edelstein mit
require: false
aber es wird immer noch die Installation und Verwaltung der gem. Überprüfen Sie diese aus für eine ausführlichere Erklärung.InformationsquelleAutor der Antwort Nesha Zoric