Обновите только один камень со связкой
Я использую bundler для управления зависимостями в моем приложении rails, и у меня есть жемчужина, размещенная в репозитории git, в который включены следующие:
gem 'gem-name', :git => 'path/to/my/gem.git'
Чтобы обновить этот камень, я выполняю bundle update
, но он также обновляет все драгоценные камни, упомянутые в Gemfile. Итак, что такое команда для обновления только одного конкретного драгоценного камня?
Ответы
Ответ 1
Here вы можете найти хорошее объяснение разницы между
Обновите оба драгоценных камня и зависимости:
bundle update gem-name
или
Обновление исключительно драгоценного камня:
bundle update --source gem-name
вместе с некоторыми хорошими примерами возможных побочных эффектов.
Update
Как говорит @Tim ответ, как и у Bundler 1.14, официально поддерживаемый способ это с bundle update --conservative gem-name
.
Ответ 2
Чтобы сделать это, выполните следующую команду:
bundle update --source gem-name
Ответ 3
Вам просто нужно указать имя gem в командной строке:
bundle update gem-name
Ответ 4
Похоже, что с более новыми версиями bundler ( >= 1.14) это:
bundle update --conservative gem-name
Ответ 5
Я использовал bundle update --source
сам в течение длительного времени, но есть сценарии, где это не работает. К счастью, есть драгоценный камень под названием bundler-patch
, целью которого является устранение этого недостатка.
Я также написал короткое сообщение о том, как использовать bundler-patch
и почему bundle update --source
не работает последовательно. Кроме того, не забудьте проверить сообщение от chrismo, в котором подробно объясняется, что делает опция --source
.
Ответ 6
bundle update gem-name [--major|--patch|--minor]
Это также работает для зависимостей.
Ответ 7
bundler update --source gem-name
обновит хэш-код ревизии в Gemfile.lock, который вы можете сравнить с последним хэшем фиксации этой ветки git (по умолчанию основной).
GIT
remote: [email protected]:organization/repo-name.git
revision: c810f4a29547b60ca8106b7a6b9a9532c392c954
можно найти в github.com/organization/repo-name/commits/c810f4a2
(я использовал сокращенный 8-символьный хеш-код для URL-адреса)