0

ここで何かが足りないと思います。私はこのようなディレクトリを持っています:

myapp
| -lib
  | -package1
    | -dostuff.rb
  | -package2
    | -dostuff.rb

ライブラリを実際のプロジェクト(Railsアプリ)に追加する前に、irbコンソールからライブラリをテストしようとしています。ただし、これを入力します。

require 'lib/package1/dostuff'

ロードするファイルが見つからないというエラーを返します。ロードパスにlibディレクトリを追加しましたが、ファイルをロードできません。

何を忘れているの?2つのファイル名は同じである必要はありませんが、それが最初の方法です(これらは、soap4rを使用して呼び出す必要のあるいくつかのWebサービスから自動生成されます。各パッケージは異なるWebサービスAPIグループを表します)

4

2 に答える 2

5

ディレクトリ「lib」がロードパスにある場合、requireの引数はlibに相対的である必要があります。したがってrequire 'package1/dostuff'、libがない場合は、それ以外の場合はを検索しlib/lib/package1/dostuff.rbます。

于 2009-10-10T21:53:47.220 に答える
0

require_relative "../package2/dostuff"Ruby 1.9には、内から実行できる新しいrequire_relativeメソッドがありますpackage1/dostuff.rb

于 2012-05-19T15:17:26.850 に答える