Ich verwende Bundler, um Abhängigkeiten in meiner Rails-App zu verwalten, und ich habe ein Juwel in einem Git-Repository gehostet, das wie folgt enthalten ist:
gem 'gem-name', :git => 'path/to/my/gem.git'
Um diesen Edelstein zu aktualisieren, bundle update
führe ich ihn aus, aber er aktualisiert auch alle in Gemfile erwähnten Edelsteine. Was ist also der Befehl, um nur einen bestimmten Edelstein zu aktualisieren?
Um dies zu tun, führen Sie den folgenden Befehl aus:
quelle
Es scheint, dass mit neueren Versionen von Bundler (> = 1.14) es ist:
quelle
Sie müssen lediglich den Edelsteinnamen in der Befehlszeile angeben:
quelle
bundle help update
sagt zu tun. Welche Bundler-Version verwenden Sie?bundle update gem-name
aktualisiert den Edelstein und "alle seine Abhängigkeiten".bundle update gem-name [--major|--patch|--minor]
Dies funktioniert auch für Abhängigkeiten.
quelle
--major
,--minor
und--patch
Fahnen aktualisieren Sie sie automatisch auf die neueste Version möglich.Ich habe
bundle update --source
mich lange benutzt, aber es gibt Szenarien, in denen es nicht funktioniert. Zum Glück gibt es einen Edelstein namensbundler-patch
der das Ziel hat, dieses Manko zu beheben.Ich habe auch einen kurzen Blog-Beitrag darüber geschrieben, wie man es benutzt
bundler-patch
und warumbundle update --source
es nicht konsequent funktioniert. Schauen Sie sich auch einen Beitrag von chrismo an, in dem ausführlich erklärt wird, was die--source
Option bewirkt.quelle
bundler update --source gem-name
aktualisiert den Revisions-Hash in Gemfile.lock, den Sie mit dem letzten Commit-Hash dieses Git-Zweigs vergleichen können (standardmäßig Master).GIT remote: [email protected]:organization/repo-name.git revision: c810f4a29547b60ca8106b7a6b9a9532c392c954
finden Sie unter
github.com/organization/repo-name/commits/c810f4a2
(Ich habe einen 8-stelligen Commit-Hash für die URL verwendet)quelle