2

Rails 3 と Ruby 1.9.2 を Windows 7 にインストールして実行するのはかなりスムーズに進みました。問題が発生したのは、autotest を実行したいときだけです。エラーはイライラするほど単純に見えますが、解決方法がわかりません。

Gemfile に次の gem があります。

gem 'autotest'
gem 'autotest-rails-pure'

しかし、実行するbundle exec autotestと、次のようになります。

loading autotest/rails
style: Rails
C:\bin\Ruby192\bin\ruby -I.;lib;test -rubygems -e "['test/unit', 
'test/unit/helpers/users_helper_test.rb', 'test/unit/user_test.rb'].each 
{ |f| require f }" | C:/bin/Ruby192/lib/ruby/gems/1.9.1/gems/autotest-4.4.1/bin/unit_diff -u
'C:' is not recognized as an internal or external command, 
operable program or batch file.

そのため、パスのフォーマットに問題があるようですが、どこでどのように解決すればよいかわかりません。これをCygwinで実行しようとしましたが、役に立ちませんでした。

また、とZenTestgem の代わりに gemを使用してみましたが、それは実行されました! ただし、デフォルトのディレクトリにあるテスト ファイルは検出されませんでした。それもあまり役に立たないようです。autotestautotest-rails-pure

誰が助けることができますか?

4

2 に答える 2

3

そうそう!解決策を見つけました!このセットアップで必要な宝石は次のとおりです。

gem 'ZenTest'
gem 'autotest-rails-pure'

gemはZenTest正しいコマンド ライン文字列を生成します (実際には、パイプの後ろに「unit_diff -u」があり、パスはありません)。autotest-rails-puregem は正しいテスト セットを見つけます。

于 2010-10-27T08:51:50.623 に答える
0

これは、Windows コマンド シェルがパス名を解釈する方法に関係していると思います。通常、「/」を「\」に置き換えることができ、それでも機能しますが、パイプも使用する場合は明らかに機能しません。失敗したコマンド (C:/bin/Ruby192/... で始まる) を引用符で囲むことができれば、Windows はそれを文字列として認識します。

于 2010-10-27T07:42:00.160 に答える