【问题标题】:Freshly installed gem (FactoryGirl) causes WEBrick to exit (DEPRECATION WARNING)新安装的 gem (FactoryGirl) 导致 WEBrick 退出(弃用警告)
【发布时间】:2012-04-15 07:19:55
【问题描述】:

正在尝试启动 WEBrick:

rails s

=> Booting WEBrick
=> Rails 3.1.1 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
DEPRECATION WARNING: Change Factory.define to FactoryGirl.define
Exiting
/home/shawn/.rvm/gems/ruby-1.9.2-p318/gems/factory_girl-2.6.1/lib/factory_girl/syntax/default.rb:6:in `define': wrong number of arguments (1 for 0) (ArgumentError)
    from /home/shawn/.rvm/gems/ruby-1.9.2-p318/gems/factory_girl-2.6.1/lib/factory_girl/deprecated.rb:5:in `method_missing'

这让我感到惊讶,因为所有东西都是全新安装的,而且相同的 gemset 非常适合共享存储库的其他人。

【问题讨论】:

    标签: ruby-on-rails-3.1 rubygems factory-bot webrick


    【解决方案1】:

    来自 ThoughtBot 网站http://robots.thoughtbot.com/post/7176629856/factory-girls-new-look

    注意this diff,看起来他们遇到了同样的问题。

    您或某人在您应该拨打FactoryGirl.define时拨打Factory.define的地方

    应用程序根目录中的grep -ir 'Factory.define' * 应该会为您提供更多详细信息,说明您在哪里犯了错误。如果它没有返回任何东西,那么您就知道它不是您的应用,而是一些 Gem(这是跟踪显示的内容)。

    如果是这种情况,我会尝试 gem uninstall factory_girlgem install factory_girl 来获取新版本。

    【讨论】:

    • 我确实找到了三个使用“Factory.define”的文件。但是与我共享存储库的团队成员没有遇到同样的问题。这是否意味着他们拥有旧版本的 gem?
    • @Shawn 是的,我猜他们还没有更新 Gem。
    • @Shawn 有帮助吗?如果是这样,您可以将其标记为答案吗?谢谢。
    • 好的,我们解决了这个问题。我们意识到我们没有使用完全相同版本的 ruby​​(除了没有相同版本的 FactoryGirl)。
    • 我遇到了同样的问题。事实证明,rvm 使用了 factory girl 版本,该版本之前是为 ruby​​ 1.9.3 为 ruby​​ 1.9.2 构建的,导致以下错误:github.com/thoughtbot/factory_girl/issues/167puring the system of all factory girl gems in all folder and捆绑再次解决了我的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-24
    • 1970-01-01
    • 2015-05-01
    • 2022-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多