我如何去跟踪与Bundler相关的DEPRECATION WARNING
我对Rails很新。 当我启动我的应用时,我一直看到这些弃用警告:
DEPRECATION WARNING: ref is deprecated and will be removed from Rails 3.2.
(called from <top (required)> at D:/dev/AquaticKodiak/config/application.rb:12)
DEPRECATION WARNING: new is deprecated and will be removed from Rails 3.2.
(called from <top (required)> at D:/dev/AquaticKodiak/config/application.rb:12)
好的,第12行是什么? 这个:
Bundler.require(:default, :assets, Rails.env)
嗯,这并没有真正缩小它。 这对我说,与我的应用程序相关的其中一个宝石是使用一个即将消失的关键字。 我真的很想弄清楚哪一个。 我的gemfile中的所有gem都使用>= [version]
语法,除了来自github的那些。 我怀疑github的东西造成了这种情况,但我怎么知道它是哪个项目? 拉动代码并搜索关键字看起来像工作 - 有没有更简单的方法?
Rails弃用警告在这里相当无用。 它有一个完整的callstack,可以帮助你找到过时的gem,但是过滤结果返回callstack中的第一个非框架点,在这里是application.rb。
要找到有问题的宝石,我会在activesupport / lib / active_support / deprecation / reporting.rb的第10行定义的ActiveSupport :: Deprecation.warn中获取完整的callstack。
如果您安装了Pry(推荐),则在reporting.rb的第11行添加条件绑定:
binding.pry if message =~ /ref is deprecated/
然后检查来电者。
如果你发布一个Gemfile,我可以为你寻找。
链接地址: http://www.djcxy.com/p/56061.html上一篇: how do I go about tracking down DEPRECATION WARNING related to Bundler