次の問題があります。
私のルビープロジェクトの構造: Ruby_Source\ file1.rb file2.rb file3.rb
file1.rb では、require 'file2' require 'file3'
Ruby_Source から file1.rb を実行しても、エラーは発生しません。
しかし、別のシステムの場所から同じものを実行すると、たとえば(c :)
エラーはロードエラーです。
誰か助けてくれませんか?
次の問題があります。
私のルビープロジェクトの構造: Ruby_Source\ file1.rb file2.rb file3.rb
file1.rb では、require 'file2' require 'file3'
Ruby_Source から file1.rb を実行しても、エラーは発生しません。
しかし、別のシステムの場所から同じものを実行すると、たとえば(c :)
エラーはロードエラーです。
誰か助けてくれませんか?
使用したい場合がありますrequire_relative
:
require_relative は、require_relative ステートメントを含むファイルに関連するファイルをロードできるようにすることで、組み込みメソッドの require を補完します。
さらなる議論を参照してください:
Rubyのrequire_relativeとrequireの違いは何ですか?
また、Ruby 1.8 を実行している場合:
Ruby: require と require_relative - Ruby <1.9.2 と >=1.9.2 の両方で実行する回避策のベスト プラクティス
これを試して:
require_relative 'file2'
Ruby 1.9.x で。file2
のディレクトリで検索しfile1
ます。
古いバージョンでは、次のようなことを試すことができます。
$: << File.dirname($0)
これにより、現在のプログラムのパスがrequire
-search パスに追加されます。