ruby gem hashdiff-如何升级到1.0以停止弃用警告

时间:2019-07-12 09:49:33

标签: ruby rubygems

hashdiff宝石在使用相同命名空间的另一个宝石上有问题,它会给出弃用警告:

此gem使用的HashDiff常量与另一个相似名称的gem冲突。从1.0版开始,HashDiff常数将被完全删除并由Hashdiff代替。有关更多信息,请参见https://github.com/liufengyun/hashdiff/issues/45

(该链接是一段漫长的对话,即使阅读它,我也不确定如何升级此特定的宝石)

我的/Gemfile中没有hashdiff,但是有一个依赖它的宝石,在/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.

A红宝石没有1.0版。

我们如何处理弃用警告?忽略它直到宝石变得可用?还是其他?

1 个答案:

答案 0 :(得分:1)

除非您明确告知捆绑软件使用捆绑软件,否则捆绑软件在解决依赖项时会考虑使用beta版本的宝石。

我只需将该宝石和注释添加到我的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 realized.
gem 'hashdiff', '>= 1.0.0.beta1' 
gem 'webmock'

然后运行bundle update hashdiff

更新

1.0.0宝石的

版本hashdiff已于2019-07-15发行。因此,不再需要此解决方法,并且无需先更新bundle update hashdiff的{​​{1}}就可以解决此问题。