Seit der zweiten Ausführung von bundle install
werden Abhängigkeiten von Gemfile.lock geladen, solange Gemfile nicht geändert wird.Was passiert beim direkten Ändern von Gemfile.lock?
Aber ich frage mich, wie Erkennung von Änderungen zwischen diesen beiden Dateien vorgenommen wird.
Zum Beispiel, wenn ich eine neue Abhängigkeit direkt in Gemfile.lock hinzufügen, ohne es in Gemfile hinzuzufügen (im Gegensatz zu der bewährten Methode, da Gemfile.lock automatisch aus Gemfile generiert wird), würde ein bundle install
Gemfile als betrachten geändert ?
In der Tat vergleicht bundle install
Prozess die gesamten Gemfile und Gemfile.lock Bäume, um Änderungen zu erkennen?
Wenn es ist, selbst wenn ich eine Abhängigkeit direkt zu Gemfile.lock hinzufügen würde, würde Gemfile als geändert erkannt werden (da anders) und würde Gemfile.lock wieder löschen (so die addierte Abhängigkeit verlieren ...)
Was ist der Prozess von bundle install
seit dem Start zum zweiten Mal?
mehr klar zu sein, meine Frage ist:
werden nur von Gemfile Änderungen basieren? Das heißt, Bundler würde einen Gemfile-Snapshot von jeder bundle install
Ausführungsnummer N behalten und vergleicht ihn lediglich mit der bundle install
Ausführung N + 1?
Oder keine Snapshots werden im Bundler-Speicher erstellt und Bundler führt jedes Mal einen Vergleich mit Gemfile.lock durch, um festzustellen, ob Gemfile als geändert betrachtet werden muss.
Löschen Sie einfach Gemlock-Datei, legen Sie Ihre erforderlichen Edelsteine in Gem-Datei und führen Sie "Bundle installieren". Das ist es. Ich denke nicht, dass es eine gute Idee ist, viel über die Gemlock-Datei nachzudenken. ;) – uday
@uDaY Ich stimme dir zu, aber ich bin neugierig auf den Prozess unter der Haube von Bundle installieren :) – Mik378
Haben Sie gelesen [diese] (http://gembundler.com/rational.html) und [diese] (http://gembundler.com/man/bundle-install.1.html)? –