Soweit ich weiß, setzen rails:freeze:gems
und Rechen gems:unpack
die Edelsteine auf /vendor
. rails:freeze:gems
platziert sie an /vendor/rails
, gems:unpack
Platzieren Sie sie an /vendor/gems
. Der Punkt für mich scheint jedoch derselbe zu sein. In beiden Fällen besteht das Ziel darin, die Edelsteine und ihre Versionen so zu reparieren, wie sie es während der Entwicklung waren. Gibt es einen anderen Unterschied? Es scheint mir eine Vervielfältigung jetzt ..Was ist der Unterschied zwischen den Rake Rails: Freeze: Gems und Rake Gems: auspacken?
Antwort
Von meinem Verständnis, Edelstein: entpacken wird jede dritte Partei Edelstein Ihre App Bedürfnisse in Vendor/Edelsteine entpacken.
Rails: Freeze: Gems friert nur die Edelsteine ein, die mit Rails selbst zu tun haben, also friert es deine App auf eine bestimmte Version von Rails ein. Also das unterschiedliche/vendor/rails-Verzeichnis.
Um ein bisschen mehr Kommentar:
Es gibt diese Zeile in config/environment.rb
# Specifies gem version of Rails to use when vendor/rails is not present RAILS_GEM_VERSION = '2.3.2' unless defined? RAILS_GEM_VERSION
So standardmäßig werden Schienen prüfen, ob die Verkäufer/Schienen-Verzeichnis vorhanden ist, und verwenden Sie die Versionen diese Edelsteine, wenn es so ist. Wenn nicht, müssen Sie festlegen, welche Version der Schienen verwendet wird, und Schienen versuchen, die Edelsteine von Ihrem lokalen System einzuziehen.
Also der einzige Unterschied zwischen den beiden Befehlen, die ich sehe, ist, dass rails:freeze:gems
NUR die Rails-Dateien in Vendor/Rails, die genau dort, wo Schienen sie sein will, ablegt.
Der Grund, warum Sie gem:unpack
verwenden möchten, besteht darin, Drittanbieter-Edelsteine abzulegen, von denen Ihre Anwendung abhängig ist. Daher müssen diese Edelsteine nicht lokal installiert werden, wenn Ihre App ausgeführt wird.
Sie können sich rails:freeze:gems
als eine Abkürzung vorstellen, die einfach eine gem:unpack
nur der Schienen Edelsteine in die Verzeichnisschienen erwartet (/ vendor/rails), so dass Sie es nicht manuell tun müssen. Aber ja, hinter den Kulissen erwarte ich rails:freeze:gems
wahrscheinlich gem:unpack
- 1. rake gems: refresh_specs Fehler bei ausgepackten Edelsteinen
- 2. Was ist der Unterschied zwischen Ruby Gems und Brew-Formeln?
- 3. Was ist der Unterschied zwischen Ruby Gems für Bootstrap?
- 4. Rake und Ruby on Rails
- 5. Ruby Gems Problem (was los ist)
- 6. Was ist der Unterschied zwischen Bin/Rake und Bündel Exec Rake
- 7. Rails - Getting Rake Fehler
- 8. Unterschied zwischen Rake-Assets: Precompile und Rake Assets: Clobber
- 9. Vergleich zwischen Twitter Bootstrap Gems für Rails
- 10. Rails 3.2: Rake 10.0.3 erforderlich
- 11. Ruby on Rails Rake Fehler
- 12. Rake Fehler nicht Rake-Datei
- 13. Laufendes Problem mit Rails Gems und Server
- 14. CircleCI Gems Caching
- 15. Was macht 'Bündel Exec Rake' gegen Rake?
- 16. Ruby-Gems nicht installieren, Hangs Während Gems
- 17. Rails 4, Capistrano 3 nicht während Bündel exec Rake Vermögen: precompile und kehrt stdout Rake: Nichts
- 18. Ruby Gems unter Rails testen
- 19. Schuhe und Gems
- 20. Rake Befehl Arbeits
- 21. Verschwindende Ruby Gems
- 22. Ruby on Rails: Rake Migrate Hilfe
- 23. Was genau ist Rake?
- 24. Was ist der Unterschied zwischen Rails Struktur.SQL und Schema.Rb
- 25. Ruby on Rails: Debuggen Rake Aufgaben
- 26. Uninitialized Konstante in Rake Aufgaben
- 27. Rails Rake Aktualisierung Problem - konnte nicht finden Rake-10.4.2 in einem der Quellen
- 28. Ruby Gems mit persistenten Daten
- 29. 'Rake-Gerät' stürzt weiter
- 30. Auspacken Edelsteine [Rails 2.3.5]
Danke! Es klärt viele Dinge. Ich habe mit den Aufgaben herumgespielt. Allerdings scheint es mir, freak zu sein, die Schienen Edelsteine und die anderen Edelsteine anders zu behandeln. In gewisser Weise sind sowohl 3rd Party als auch Rails Edelsteine nur Edelsteine. Ich denke, Bundler behandelt dies ohne Unterschied. – fifigyuri