Używam bundlera do zarządzania zależnościami w mojej aplikacji railsowej i mam klejnot hostowany w repozytorium git w następujący sposób:
gem 'gem-name', :git => 'path/to/my/gem.git'
Aby zaktualizować ten klejnot, bundle update
wykonuję go, ale aktualizuje on również wszystkie klejnoty wymienione w Gemfile. Więc jakie jest polecenie, aby zaktualizować tylko jeden konkretny klejnot?
Aby to zrobić, uruchom następujące polecenie:
źródło
Wygląda na to, że w nowszych wersjach pakietu (> = 1,14) jest to:
źródło
Musisz tylko podać nazwę klejnotu w wierszu poleceń:
źródło
bundle help update
mówi się zrobić. Której wersji pakietu używasz?bundle update gem-name
zaktualizuje klejnot i „dowolną z jego zależności”.bundle update gem-name [--major|--patch|--minor]
Działa to również w przypadku zależności.
źródło
--major
,--minor
, I--patch
flagi automatycznie uaktualnić go do najnowszej możliwej wersji.Używałem
bundle update --source
siebie przez długi czas, ale są scenariusze, w których to nie działa. Na szczęście istnieje klejnot o nazwie,bundler-patch
który ma na celu naprawienie tego niedociągnięcia.Napisałem również krótki post na blogu o tym, jak używać
bundler-patch
i dlaczegobundle update --source
nie działa konsekwentnie. Pamiętaj też, aby sprawdzić post przez chrismo, który szczegółowo wyjaśnia, co--source
robi ta opcja.źródło
bundler update --source gem-name
zaktualizuje skrót wersji w Gemfile.lock, który możesz porównać z ostatnim hasłem zatwierdzenia tej gałęzi git (domyślnie master).GIT remote: [email protected]:organization/repo-name.git revision: c810f4a29547b60ca8106b7a6b9a9532c392c954
można znaleźć na
github.com/organization/repo-name/commits/c810f4a2
(użyłem skrótu 8-znakowego zatwierdzenia dla adresu URL)źródło