3

TestFirst.org の Learn_ruby コースを完了しようとしていますが、最初のコースの最初で立ち往生しています。

指示に従って、ディレクトリでターミナル ウィンドウを開き00_helloます。しかし、最初のテスト「レーキ」(合格するまでに数回失敗するはずです) を実行しようとすると、追跡できないような奇妙なエラー メッセージが表示されます。

Michaels-MacBook-Pro:00_hello TheRedFool$ rake
(in /Users/TheRedFool/learn_ruby-master)
rake aborted!
undefined method `gem' for main:Object
/Users/TheRedFool/learn_ruby-master/Rakefile:2
(See full trace by running task with --trace)

次に、トレースで実行すると。

Michaels-MacBook-Pro:00_hello TheRedFool$ rake --trace
(in /Users/TheRedFool/learn_ruby-master)
rake aborted!
undefined method `gem' for main:Object
/Users/TheRedFool/learn_ruby-master/Rakefile:2
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rake.rb:2383:in `load'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rake.rb:2383:in `raw_load_rakefile'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rake.rb:2017:in `load_rakefile'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rake.rb:2068:in `standard_exception_handling'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rake.rb:2016:in `load_rakefile'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rake.rb:2000:in `run'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rake.rb:2068:in `standard_exception_handling'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rake.rb:1998:in `run'
/usr/bin/rake:31

どんな助けでも大歓迎です。前もって感謝します!

4

2 に答える 2

3

rakeの代わりにrspecを使用して動作させることができました。私はこの方法で最初のレッスンをうまくやり遂げました。

jrw@mobile0:~/.../00_hello$ rspec -r hello_spec.rb

rakeはRubyGemsを認識していないと思いますが、理由はわかりません。私はUbuntuを使用しているので、Debianはそれと関係があるかもしれません。いずれにせよ、レーキが修正されるまで、rspecは十分な代替手段となるはずです。

編集:

私は本当の問題を理解しました。メインのTestFirstRubyフォルダーに移動Rakefileし、テキストエディターで開きます。次の行の前にこの行を追加しますgem 'rspec', '~>2'

require 'rubygems'

この行はRuby1.9.1では必要ありませんが、あなたと私は1.8を実行しています。

それでもうまくいかない場合は、エクササイズフォルダでこのコマンドを使用できます。入力とまったく同じように動作しますrakeが、エラーは発生しません。

jrw@mobile0:~/.../00_hello$ rspec -I. -f d -r ../rspec_config *_spec.rb
于 2013-01-20T22:20:55.167 に答える
1

お使いのシステムでは gem が古くなっているようです。試す:

gem update --system
于 2013-01-05T22:59:22.470 に答える