【问题标题】:Error occurring using guard in rails 3.1.1在 Rails 3.1.1 中使用防护发生错误
【发布时间】:2012-02-05 17:12:35
【问题描述】:

大家好,我正在关注http://net.tutsplus.com/tutorials/ruby/the-intro-to-rails-screencast-i-wish-i-had/ 此处的 Rails 教程,我已经到了使用 Guard 执行单元测试的地步。使用保护时,我不断收到以下错误,我尝试安装 activesupport gem,但似乎仍然失败。如果有人对如何解决此问题有任何提示,我将不胜感激:)

我也在运行 64 位 Ubuntu

chuck@chuck-laptop:~/rails/tasks$ bundle exec guard
Guard could not detect any of the supported notification libraries.
Guard is now watching at '/home/chuck/rails/tasks'
Guard::RSpec is running, with RSpec 2!
Running all specs
/home/chuck/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/test/unit/assertions.rb:5:in `<module:Test>': Unit is not a module (TypeError)
    from /home/chuck/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/test/unit/assertions.rb:4:in `<top (required)>'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `block in require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:225:in `load_dependency'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-rails-2.8.1/lib/rspec/rails/adapters.rb:2:in `<top (required)>'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `block in require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:225:in `load_dependency'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-rails-2.8.1/lib/rspec/rails.rb:10:in `<top (required)>'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `block in require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:225:in `load_dependency'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
    from /home/chuck/rails/tasks/spec/spec_helper.rb:4:in `<top (required)>'
    from /home/chuck/rails/tasks/spec/requests/tasks_spec.rb:1:in `require'
    from /home/chuck/rails/tasks/spec/requests/tasks_spec.rb:1:in `<top (required)>'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `load'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `block in load_spec_files'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `map'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `load_spec_files'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/command_line.rb:22:in `run'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:80:in `run_in_process'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:69:in `run'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:10:in `block in autorun'
Guard::RSpec is running, with RSpec 2!
Running all specs
/home/chuck/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/test/unit/assertions.rb:5:in `<module:Test>': Unit is not a module (TypeError)
    from /home/chuck/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/test/unit/assertions.rb:4:in `<top (required)>'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `block in require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:225:in `load_dependency'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-rails-2.8.1/lib/rspec/rails/adapters.rb:2:in `<top (required)>'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `block in require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:225:in `load_dependency'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-rails-2.8.1/lib/rspec/rails.rb:10:in `<top (required)>'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `block in require'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:225:in `load_dependency'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require'
    from /home/chuck/rails/tasks/spec/spec_helper.rb:4:in `<top (required)>'
    from /home/chuck/rails/tasks/spec/requests/tasks_spec.rb:1:in `require'
    from /home/chuck/rails/tasks/spec/requests/tasks_spec.rb:1:in `<top (required)>'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `load'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `block in load_spec_files'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `map'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698:in `load_spec_files'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/command_line.rb:22:in `run'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:80:in `run_in_process'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:69:in `run'
    from /home/chuck/.rvm/gems/ruby-1.9.2-p290/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:10:in `block in autorun'
Bye bye...

【问题讨论】:

    标签: ruby-on-rails ruby guard


    【解决方案1】:

    解决方法:

    1. 从 Gemfile 中移除 turn gem。
    2. gem 卸载转

    我复制粘贴了解决方法from here

    顺便说一句,我不想​​太离题,但如果你解决了这个问题并按照教程进行操作,让我给你一个建议: 如果你被卡住了

    Failure/Error: @task = Task.create :task => 'go to bed'
         ActiveRecord::StatementInvalid:
           Could not find table 'tasks'
    

    然后运行这个命令:

    rake
    

    问题是,他们告诉你运行,而不是那个:

    rake db:migrate
    

    这很好,但不会迁移测试数据库。

    干杯!

    【讨论】:

      【解决方案2】:

      作为教程的一部分,您将跟随叙述者在 gem 文件中使用“gem 'turn'”。在阅读了其他一些博客后,我删除了一个 gem(它所做的只是导致漂亮的测试输出)并重新捆绑。警卫终于发挥作用了。我还有另一个错误,但它会告诉我有多少测试通过和失败,哪些是哪些。希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-18
        • 2021-02-05
        • 1970-01-01
        • 2011-12-31
        • 1970-01-01
        • 1970-01-01
        • 2012-02-12
        • 2020-10-06
        相关资源
        最近更新 更多