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版。
我们如何处理弃用警告?忽略它直到宝石变得可用?还是其他?
答案 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}}就可以解决此问题。