【发布时间】:2011-10-31 18:18:06
【问题描述】:
我们的团队正在开发一个新应用程序,我们从 Rails 3.1 和 Ruby 1.9.2 开始 - 昨晚我把它带到了 Ruby 1.9.3。
我们在依赖链 (css_parser) 中使用的其中一个 gem 最终在其中包含一个 require 'iconv',在 1.9.3 中触发 a deprecation warning,如下所示:
.../gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `block in require': iconv will be deprecated in the future, use String#encode instead.
起初我天真地把它归咎于 rails 没有更好的踪迹,直到我在任何地方都没有找到 require 'iconv'。
我追踪到这一点的唯一方法是我开始在我的 Gemfile 中注释掉一些东西,然后我终于想到了加载 irb 并开始依次请求每个库的好主意。我也可以在 gems 目录中完成一个文件系统 grep,但我不确定“require 'iconv'”是什么触发了错误。
什么皮塔饼。必须有更好的方法 - 只需在加载轨道没有削减它的 rake 任务中执行 --trace 。是否有某种方式/任何方式可以触发对此的跟踪,以向我显示相对较长的库依赖项列表中的哪一行触发了弃用?
【问题讨论】:
标签: ruby-on-rails ruby