0

Railsアプリをubuntuからosxに移動しようとしています。rspecを実行すると、次のあいまいなエラーが発生します。

/Users/josh/dev/myproject/spec/support/devise.rb:3:in `block in <top (required)>': uninitialized constant RequestHelpers (NameError)
    from /Users/josh/.rvm/gems/ruby-1.9.3-p286@myproject/gems/rspec-core-2.11.1/lib/rspec/core.rb:92:in `configure'
    from /Users/josh/dev/myproject/spec/support/devise.rb:1:in `<top (required)>'
    from /Users/josh/dev/myproject/spec/spec_helper.rb:21:in `block (2 levels) in <top (required)>'
    from /Users/josh/dev/myproject/spec/spec_helper.rb:21:in `each'
    from /Users/josh/dev/myproject/spec/spec_helper.rb:21:in `block in <top (required)>'
    from /Users/josh/.rvm/gems/ruby-1.9.3-p286@myproject/gems/spork-0.9.2/lib/spork.rb:24:in `prefork'
    from /Users/josh/dev/myproject/spec/spec_helper.rb:4:in `<top (required)>'
    from /Users/josh/dev/myproject/spec/controllers/comments_controller_spec.rb:1:in `require'
    from /Users/josh/dev/myproject/spec/controllers/comments_controller_spec.rb:1:in `<top (required)>'
    from /Users/josh/.rvm/gems/ruby-1.9.3-p286@myproject/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:780:in `load'
    from /Users/josh/.rvm/gems/ruby-1.9.3-p286@myproject/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:780:in `block in load_spec_files'
    from /Users/josh/.rvm/gems/ruby-1.9.3-p286@myproject/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:780:in `map'
    from /Users/josh/.rvm/gems/ruby-1.9.3-p286@myproject/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:780:in `load_spec_files'
    from /Users/josh/.rvm/gems/ruby-1.9.3-p286@myproject/gems/rspec-core-2.11.1/lib/rspec/core/command_line.rb:22:in `run'
    from /Users/josh/.rvm/gems/ruby-1.9.3-p286@myproject/gems/rspec-core-2.11.1/lib/rspec/core/runner.rb:66:in `rescue in run'
    from /Users/josh/.rvm/gems/ruby-1.9.3-p286@myproject/gems/rspec-core-2.11.1/lib/rspec/core/runner.rb:62:in `run'
    from /Users/josh/.rvm/gems/ruby-1.9.3-p286@myproject/gems/rspec-core-2.11.1/lib/rspec/core/runner.rb:8:in `block in autorun'

Ubuntuではすべてがうまく機能するので、環境に配慮しているに違いないと思います。どこから掘り始めるか考えてみませんか?

ありがとう-ジョシュ

編集:理由はわかりませんが、ファイルrequest_helpers.rbがrakeで見つかりませんでした。他の場所に移動すると問題が解決しました。

4

1 に答える 1

1

これはオペレーティングシステムの問題ではなく、構成の問題のようです。次の点で、環境が同じであることを確認してください。

  • 同じ方法でインストールされたrvmを使用する
  • Gemfileに必要なすべてのgemがある
  • バンドルを使用してrspecを実行する
  • すべての同じバージョンを使用します。

ちなみに、これはあいまいなメッセージではありませんが、実際にはかなり明確です。

uninitialized constant RequestHelpers (NameError)

そのため、spec/support/devise.rbファイルは必要なクラスを見つけることができません。

そのファイルを書きましたか?そうでない場合、どのように生成しましたか?手順を繰り返して(おそらくrake somethingまたはrails generate something)生成すると、OKになります。

于 2012-11-06T10:53:52.273 に答える