Ruby gem hashdiff - как обновить до 1.0, чтобы остановить предупреждения об устаревании

У драгоценного камня hashdiff есть проблемы с другим драгоценным камнем, использующим то же пространство имен, он выдает предупреждение об устаревании:

Константа HashDiff, используемая этим гемом, конфликтует с другим гемом с таким же названием. Начиная с версии 1.0 константа HashDiff будет полностью удалена и заменена на Hashdiff. Для получения дополнительной информации см. https://github.com/liufengyun/hashdiff/issues/45.

(Ссылка на длинный разговор, даже читая его, я не уверен, как обновить этот конкретный драгоценный камень)

В моем /Gemfile нет хешдиффа, однако есть гем, который зависит от него, в /Gemfile.lock есть hashdiff (0.4.0).

Чтобы принудительно обновить hashdiff до 1.0, я добавил gem 'hashdiff', '~> 1.0' к /Gemfile и запустил bundle update hashdiff, но:

Fetching gem metadata from https://rubygems.org/.
Could not find gem 'hashdiff (~> 1.0)' in any of the gem sources listed in your Gemfile.

Увы, у rubygems нет версии 1.0.

Как мы, люди, справляемся с предупреждением об устаревании? Игнорировать его, пока драгоценный камень не станет доступным? Или что-то другое?

🤔 А знаете ли вы, что...
Синтаксис Ruby известен своей простотой и выразительностью.


2
594
1

Ответ:

Решено

Bundler не рассматривает бета-версии драгоценного камня при решении зависимостей, если вы явно не укажете сборщику использовать такую ​​​​бета-версию.

Я бы просто добавил этот драгоценный камень вместе с комментарием в свой Gemfile.

# FIXME: Force bundler to use the beta version of the hashdiff gem
#        `hashdiff` is a dependency of the `webmock` gem. Feel free to remove
#        the following line from this Gemfile as soon as hashdiff 1.0.0 is
#        officially released.
gem 'hashdiff', '>= 1.0.0.beta1' 
gem 'webmock'

а затем запустить bundle update hashdiff.

Обновлять

Версия 1.0.0 драгоценного камня hashdiff была выпущена 15 июля 2019 г. Поэтому этот обходной путь больше не нужен, и bundle update hashdiff — без необходимости сначала обновлять Gemfile — должен решить проблему.