0

レーキの使用に問題があります。私はrspecの紹介であるこのコースに取り組んでいます。最初にrspecをインストールするように指示されているので、geminstallrspecと入力します。

     ruby 1.9.3p385 (2013-02-06) [i386-mingw32]

     C:\Users\Edub>gem install rspec
     Successfully installed rspec-2.13.0
     1 gem installed

次に、cd learn_ruby、次にcd 00_helloのコースディレクトリに入るはずですが、cd learn_ruby-master \ learn_ruby-master\00_helloと入力した場合にのみ機能します。

     C:\Users\Edub>cd learn_ruby-master\learn_ruby-master\00_hello  

次に、指示どおりにrakeを使用しようとすると、エラーが発生します。どういう意味かよくわかりません。

         C:\Users\Edub\learn_ruby-master\learn_ruby-master\00_hello>rake
         (in C:/Users/Edub/learn_ruby-master/learn_ruby-master)
         You must use ANSICON 1.31 or later (http://adoxa.3eeweb.com/ansicon/) to use         
         col
         our on Windows
         C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:45:in           
          'require': cannot load such file -- hello (LoadError)
         from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_requir
         e.rb:45:in `require'
         from C:/Users/Edub/learn_ruby-master/learn_ruby-master/00_hello/hello_sp
         ec.rb:116:in `<top (required)>'
         from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-2.13.0/lib/rspec/cor
         e/configuration.rb:819:in `load'
         from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-2.13.0/lib/rspec/cor
         e/configuration.rb:819:in `block in load_spec_files'
         from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-2.13.0/lib/rspec/cor
         e/configuration.rb:819:in `each'
         from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-2.13.0/lib/rspec/cor
         e/configuration.rb:819:in `load_spec_files'
         from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-2.13.0/lib/rspec/cor
         e/command_line.rb:22:in `run'
         from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-2.13.0/lib/rspec/cor
         e/runner.rb:80:in `run'
         from C:/Ruby193/lib/ruby/gems/1.9.1/gems/rspec-core-2.13.0/lib/rspec/cor
         e/runner.rb:17:in `block in autorun'
         rake aborted!
         C:/Ruby193/bin/ruby.exe -S rspec C:/Users/Edub/learn_ruby-master/learn_ruby-              
         master/00_hello/hello_spec.rb -IC:/Users/Edub/learn_ruby-master/learn_ruby-  
         master/00_hello -IC:/Users/Edub/learn_ruby-master/learn_ruby-   
         master/00_hello/solution -fdocumentation -r ./rspec_config failed

         Tasks: TOP => default => spec
         (See full trace by running task with --trace)

コースでは、エラーが発生するはずであり、次のようになっていると思われます。

      no such file to load -- test-first-teaching/hello/hello (LoadError)

わかりました。次に、hello.rbという名前のテキストエディタでメソッドを定義する必要があることを指示します。コードは次のようになります。

    def hello
      "Hello!"
    end

それで、私は指示に進み、Sublime2でこれをすべて行います。Sublime2hello.rbでプログラムにタイトルを付け、メソッドを定義します。これですべてのエラーが修正されるはずですが、最初から行ったのと同じ長いエラーがまだあります。

誰かがここで何が起こっているのか、そしてなぜレーキが中止されたのか教えてもらえますか?ここで何を伝えようとしているのかわかりません。ありがとう!私が十分に具体的でなかったならば、ただ私に知らせてください。

4

1 に答える 1

1

私はルビーにとても慣れていませんが、本からの指示は外れているようです。私の理解では、レーキが機能するには、レーキタスクを定義する必要があります。あなたがただできるのはルビー通訳のようなものではありません:

ruby <ruby_file.rb>

そして、それはファイルを解釈することを理解します。

このサイトをチェックしてみてください:http://rake.rubyforge.org/

これは、レーキタスクの作成に関するいくつかのイントロを提供します(これまではあまり行っていませんでした。職場では、他の人がレーキタスクを作成し、それを使用して実行しています)。

rake <task>

それがあなたが始められることを願っています。

編集:

私がリンクしたサイトの指示に従えば、あなたの場合は次のようなことをすると思います。

task :default => [:test]

task :test do
  ruby "hello.rb"
end

そして、それを次のように実行します。

rake

また

rake test

rakeのデフォルトは、タスクを指定しない場合(つまり、「rake」を実行する場合)に実行されるタスクであり、この場合は:testタスクのエイリアスです。必要に応じて、:testに別の名前を付けることもできますが、その場合は、デフォルトを変更して、その新しいシンボルを指すようにします。

また、熊手は宝石だと思います。通常、Rubyにはデフォルトでインストールされていると思いますが、コマンドラインに移動して次のことを実行すると、次のようになります。

gem query --local

そこに熊手が見えないので、それを手に入れるためにあなたはしなければならないでしょうgem install rake

于 2013-03-18T20:41:29.007 に答える