加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何跟踪与Bundler相关的DEPRECATION WARNING

发布时间:2020-12-16 19:04:53 所属栏目:百科 来源:网络整理
导读:我对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
我对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.

为了找到有问题的gem我会在ActiveSupport :: Deprecation.warn中获取完整的callstack,它在activesupport / lib / active_support / deprecation / reporting.rb的第10行定义.

如果您安装了Pry(推荐),则在reporting.rb的第11行添加条件绑定:

binding.pry if message =~ /ref is deprecated/

然后检查来电者.

如果你发布Gemfile我可以看看你.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读