8

私はZedShawのLearnRubytheHardWay演習25に取り組んでいます

http://ruby.learncodethehardway.org/ex25.html

rubyファイルex25.rbを保持しているディレクトリに移動してIRBを起動すると、次のエラーが発生します。

Larson-2:~ larson$ cd Ruby
Larson-2:Ruby larson$ ls
ex25.rb
Larson-2:Ruby larson$ irb
ruby-1.9.2-p290 :001 > require 'ex25'
LoadError: no such file to load -- ex25
    from /Users/larson/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /Users/larson/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from (irb):1
    from /Users/larson/.rvm/rubies/ruby-1.9.2-p290/bin/irb:16:in `<main>'
ruby-1.9.2-p290 :002 > 

ここではrequireコマンドが機能していないようです。足りないものはありますか?

また、提案されているように「./25」を要求しようとしましたが、次のエラーが発生します。

Larson-2:Ruby larson$ irb
ruby-1.9.2-p290 :001 > require './ex25'
SyntaxError: /Users/larson/Ruby/ex25.rb:1: invalid multibyte char (US-ASCII)
    from /Users/larson/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /Users/larson/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from (irb):1
    from /Users/larson/.rvm/rubies/ruby-1.9.2-p290/bin/irb:16:in `<main>'
4

2 に答える 2

14

これは、作業ディレクトリがRuby1.9.2のRubyパスに存在しなくなったためです。これは機能します:

require './ex25'
于 2011-08-29T09:35:31.290 に答える
2

これは、私が演習を書いていたときの私の側の間違いです。require_relative@mischaは彼の解決策に精通していますが、本を読み進めると、後続の演習では。の代わりにコマンドが使用されることに気付くでしょうrequire

ここでは、作業ディレクトリがロードパスにあることを確認するためのさまざまな方法について説明しますが、いずれかを選択して一貫性を保つことをお勧めします。

于 2011-08-31T19:45:25.313 に答える