4

サンプルの Ruby on Rails アプリケーションの単体テストの実行を開始しようとしていますが、単体テストを実行しようとすると、RubyMine は次のエラーを出力します。

エラーのスクリーンショット

Gemfilebundle installに追加してから、実行中にも同じエラーが発生しました。gem "win32console", '1.3.0'ここにテキスト形式のエラーがあります

      Exception message: cannot load such file -- 2.0/Console_ext
["D:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/win32console-1.3.0-x86-mingw32/lib/Win32/Console.rb:12:in `require'", "D:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/win32console-1.3.0-x86-mingw32/lib/Win32/Console.rb:12:in `rescue in <top (required)>'", "D:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/win32console-1.3.0-x86-mingw32/lib/Win32/Console.rb:8:in `<top (required)>'", "D:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/win32console-1.3.0-x86-mingw32/lib/Win32/Console/ANSI.rb:13:in `require'", "D:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/win32console-1.3.0-x86-mingw32/lib/Win32/Console/ANSI.rb:13:in `<top (required)>'", "D:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/win32console-1.3.0-x86-mingw32/lib/win32console.rb:1:in `require'", "D:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/win32console-1.3.0-x86-mingw32/lib/win32console.rb:1:in `<top (required)>'", "D:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/bundler-1.4.0.pre.2/lib/bundler/runtime.rb:76:in `require'", "D:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/bundler-1.4.0.pre.2/lib/bundler/runtime.rb:76:in `block (2 levels) in require'", "D:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/bundler-1.4.0.pre.2/lib/bundler/runtime.rb:72:in `each'", "D:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/bundler-1.4.0.pre.2/lib/bundler/runtime.rb:72:in `block in require'", "D:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/bundler-1.4.0.pre.2/lib/bundler/runtime.rb:61:in `each'", "D:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/bundler-1.4.0.pre.2/lib/bundler/runtime.rb:61:in `require'", "D:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/bundler-1.4.0.pre.2/lib/bundler.rb:130:in `require'", "D:/Users/Justin/Projects/Rails/blog/config/application.rb:7:in `<top (required)>'", "D:/Users/Justin/Projects/Rails/blog/config/environment.rb:2:in `require'", "D:/Users/Justin/Projects/Rails/blog/config/environment.rb:2:in `<top (required)>'", "D:/Users/Justin/Projects/Rails/blog/test/test_helper.rb:2:in `require'", "D:/Users/Justin/Projects/Rails/blog/test/test_helper.rb:2:in `<top (required)>'", "D:/Users/Justin/Projects/Rails/blog/test/controllers/comments_controller_test.rb:1:in `require'", "D:/Users/Justin/Projects/Rails/blog/test/controllers/comments_controller_test.rb:1:in `<top (required)>'", "D:/Program Files (x86)/JetBrains/RubyMine 5.4.3.2.1/rb/testing/runner/tunit_or_minitest_in_folder_runner.rb:51:in `require'", "D:/Program Files (x86)/JetBrains/RubyMine 5.4.3.2.1/rb/testing/runner/tunit_or_minitest_in_folder_runner.rb:51:in `block in require_all_test_scripts'", "D:/Program Files (x86)/JetBrains/RubyMine 5.4.3.2.1/rb/testing/runner/tunit_or_minitest_in_folder_runner.rb:44:in `each'", "D:/Program Files (x86)/JetBrains/RubyMine 5.4.3.2.1/rb/testing/runner/tunit_or_minitest_in_folder_runner.rb:44:in `require_all_test_scripts'", "D:/Program Files (x86)/JetBrains/RubyMine 5.4.3.2.1/rb/testing/runner/tunit_or_minitest_in_folder_runner.rb:134:in `<top (required)>'", "-e:1:in `load'", "-e:1:in `<main>'"]

このエラーの原因は何ですか?どうすれば修正できますか?

4

2 に答える 2

9

Ruby 2.0 を使用する場合、win32console は必要ありません。Windows 上の Ruby 2.0 は ANSI エスケープ シーケンスをサポートし、Unicode 文字出力を正しくサポートします。したがって、win32console gem は不要です。それを除く。

また、win32Console は古い gem です。Ruby 2.0 をサポートしていないと思います。

于 2013-09-22T13:42:20.977 に答える
0

私の解決策は、Gemfile で win32console への参照をコメントアウトすることでした。これを特定した以前の回答に感謝します。

この場合、私のエラーは c:/RailsInstaller/Ruby2.0.0/lib/ruby/gems/2.0.0/gems/win32console-1.3.2-x86-mingw32/lib/Win32/Console.rb:12:in 「require」: そのようなファイルを読み込めません -- 2.0/Console_ext (LoadError)

これにより、テストの実行とバンドルのインストールが可能になりました。長期的には、参照を削除する可能性があります。

于 2013-11-06T22:46:14.437 に答える