Frage

Ich habe ein Gemfile mit einem privaten git-repo im folgenden format:

gem 'magic_beans', :git => "git@git.example.com:magic_beans.git', :branch => 'super_beans'

Wenn Ich bundle install, die Gemfile.sperren sperrt es sich auf eine bestimmte SHA überarbeitung.

Kann ich bundler immer überprüfen und verwenden die neuesten commit SHA und/oder aktualisieren Sie die Gemfile.Sperre?Beachten Sie, dass, wenn ich push-updates, um die super_beans Filiale bin ich nicht ändern der gem-version.

Im Idealfall, jedes mal, wenn ich laufen bundle es wäre zu überprüfen upstream git repo für eine neuere SHA revision der Branche.

War es hilfreich?

Lösung

So funktioniert Bundler nicht. Es geht darum, eine nahtlose Version von Abhängigkeiten zu ermöglichen. (Besonders damit Sie genau wissen, welche Version des Code zu einem bestimmten Zeitpunkt bereitgestellt wird).

Wenn Sie die neueste Version wünschen, sollten Sie einfach ausführen.

bundle update magic_beans

Dies ist genau die gleiche Funktionalität wie Sie nur sagen

gem "rails"

Ich würde jedoch vorschlagen, wenn Sie über eine Reihe spezifischer Dinge verfügen, die Sie aktualisieren möchten, fügen Sie eine benutzerdefinierte Binärdatei hinzu (sagen Sie eine ausführbare Datei namens namens bundle_update)

#!/usr/bin/env bash
bundle install
bundle update magic_beans

Dann machen Sie einfach eine ./bundle_update Wenn Sie diese Dinge aktualisieren möchten.

Andere Tipps

Sie können laufen bundle update aktualisieren Sie alle oder bestimmte Edelsteine, um Ihre neuesten verfügbaren version, wie bereits in der docs.

Würde das helfen?

Nachdem ich die Dokumente durchsucht hatte, fand ich endlich die magische Art, dies zu tun:

bundle update magic_beans --source magic_beans

Das ist, um die zu aktualisieren magic_beans Nur Gem, aber nicht andere verschlossene Edelsteine. Der Doc darüber ist: http://bundler.io/man/bundle-update.1.html

Löschen .Gemlock ist das, was für mich funktioniert hat:/

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top