ruby - ruby gem hashdiff - 如何升级到 1.0 以停止弃用警告
问题描述
gemhashdiff
与使用相同命名空间的另一个 gem 有问题,它给出了弃用警告:
此 gem 使用的 HashDiff 常量与另一个名称相似的 gem 冲突。从 1.0 版开始,HashDiff 常量将被完全删除并被 Hashdiff 取代。更多信息参见https://github.com/liufengyun/hashdiff/issues/45。
(链接是一个很长的对话,即使阅读它我也不知道如何升级这个特定的宝石)
我/Gemfile
的里面没有 hashdiff,但是有一个依赖于它的 gem,/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 版。
我们如何处理弃用警告?在宝石可用之前忽略它?或者是其他东西?
解决方案
Bundler 在解决依赖关系时不会考虑 gem 的 beta 版本,除非您明确告诉 bundler 使用这样的 beta 版本。
我只是将那个 gem 和一个评论一起添加到我的 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
。
更新
gem版本1.0.0
于hashdiff
2019-07-15 发布。因此,不再需要此解决方法,并且bundle update hashdiff
无需更新第一个解决方法即可Gemfile
解决该问题。
推荐阅读
- android - 限制选项卡设备中的应用程序安装
- python - 如何修复 Jupyter Notebook 中的 404 错误?
- python - python beautifulsoup4突然TypeError:'NoneType'对象不可调用,但它不是None
- reactjs - 在 React 中隐藏引导模式
- python - 从非连续视频帧创建全景图
- python - for 循环中的返回函数仅返回 1 项
- linux - 如何将目录及其子目录中的所有 PDF 文件复制到一个位置?
- macos - 在 Mac 上安装 ffmpeg 失败
- c++ - 我们如何在 C++ 中的无序映射中分配变量并更新它们?
- javascript - 为什么 JavaScript 没有检测到所有 cookie?