[RUBY] [Rails] Was ist der Unterschied zwischen Bundle-Installation und Bundle-Update?

Unterschied zwischen Bundle-Installation und Bundle-Update

Was ist das Vorwissen, Gemfile, Gemfile.lock und Bundler, um diese beiden zu verstehen? Ich werde darüber schreiben.

Was ist Bundler?

Ein Edelstein, der einen Edelstein verwaltet. Dank Bundler können Sie die Bundle-Installation </ code> und das Bundle-Update </ code> verwenden.

Was ist ein Gemfile?

Ein Bild wie eine "Designzeichnung" zum Installieren von Edelsteinen.

Was ist Gemfile.lock?

Ein Bild wie das "Ergebnisdiagramm" nach der tatsächlichen Installation des Edelsteins. Da Edelsteine häufig miteinander verwandt sind, werden zusätzlich zu den in der Edelsteindatei beschriebenen Edelsteinen die erforderlichen Edelsteine generiert. In diesem Fall installiert Bundler automatisch den erforderlichen Edelstein und schreibt ihn in Gemfile.lock.

Warum brauchst du Gemfile.lock?

Gemfile ist eine Designzeichnung. Es wird nur das zu installierende Juwel beschrieben. Außerdem werden Edelsteine, die sich auf Edelsteine beziehen, nicht beschrieben, und die Versionen von Edelsteinen, die in der Produktionsumgebung und der Entwicklungsumgebung installiert sind, können nicht vereinheitlicht werden. Mit Gemfile.lock können Sie jedoch in jeder Umgebung dieselbe Edelstein- und Edelsteinversion verwenden.

Informationen zur Bundle-Installation und zum Bundle-Update

Nachdem ich Vorkenntnisse erworben habe, gehe ich zum Hauptthema über.

bundle install Installiere gem basierend auf Gemfile.lock. Wenn zu diesem Zeitpunkt ein Edelstein vorhanden ist, der nicht in Gemfile.lock und in Gemfile beschrieben ist, installieren Sie diesen Edelstein und den mit diesem Edelstein verbundenen Edelstein und anschließend Gemfile.lock.

bundle update Installiere gem basierend auf Gemfile. Aktualisieren Sie dann Gemfile.lock.

Über die ordnungsgemäße Verwendung der beiden Befehle

Bundle-Installation </ code> → Wird beim Schreiben eines neuen Gems in einer neuen Umgebung oder Gemfile verwendet. Bundle-Update </ code> → Wird beim Aktualisieren der Gem-Version verwendet. (Da die Bundle-Installation den Edelstein in Gemfile.lock nicht aktualisiert)

Zusammenfassung

  • Bundle-Installation </ Code> bezieht sich auf Gemfile.lock, um das Gem zu installieren. Ebenfalls, Wenn Gemfile.lock nicht vorhanden ist, erstellen Sie Gemfile.lock nach der Installation des Gems basierend auf Gemfile.
  • Das -Paket-Update </ code> ignoriert Gemfile.lock, installiert gem basierend auf Gemfile und aktualisiert dann Gemfile.lock.
  • Da Gemfile.lock ignoriert wird, werden im Gegensatz zur Bundle-Installation </ code> die Abhängigkeiten (Versionen usw.) zwischen Gems aktualisiert.

Das war's. Grundsätzlich scheint die Bundle-Installation häufig während der eigentlichen Entwicklung verwendet zu werden. Bei Verwendung des Bundle-Updates mit Vorsicht verwenden.

Recommended Posts