我想我在这里遗漏了一些东西。我有一个这样的目录:
myapp |-lib |-package1 |-dostuff.rb |-package2 |-dostuff.rb
从irb
控制台我尝试测试该库,然后将其添加到我的真实项目(Rails应用程序)。但是,输入以下内容:
require 'lib/package1/dostuff'
返回错误,指出无法找到要加载的文件。我将lib目录添加到加载路径但是我无法加载文件。
我忘记了什么?这两个文件名不必相同,但它们是如何开始的(它们是从我需要使用soap4r调用的一些Web服务自动生成的;每个包代表一个不同的Web服务API组)
答案 0 :(得分:5)
如果目录“lib”在加载路径中,则require的参数必须相对于lib。所以require 'package1/dostuff'
没有lib,否则会查找lib/lib/package1/dostuff.rb
。
答案 1 :(得分:0)
在Ruby 1.9中有新的require_relative方法,可以让你从require_relative "../package2/dostuff"
内进行package1/dostuff.rb
。