我使用Bundler为我生成一个Gem骨架。在lib/foo.rb
,我有以下几点:在RubyGem中需要文件的正确方法?
require 'foo/client'
require 'foo/other'
这两行应该需要分别lib/foo/client.rb
和lib/foo/other.rb
。它的构建没有问题,但是当我用irb
进行测试时,出现文件未找到错误。
ruby-1.9.2-head :003 > require 'foo'
LoadError: no such file to load -- foo/client
from /home/ethan/.rvm/rubies/ruby-1.9.2-head/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /home/ethan/.rvm/rubies/ruby-1.9.2-head/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /home/ethan/.rvm/gems/ruby-1.9.2-head/gems/foo-0.1.0/lib/foo.rb:3:in `<top (required)>'
from /home/ethan/.rvm/rubies/ruby-1.9.2-head/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /home/ethan/.rvm/rubies/ruby-1.9.2-head/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from (irb):3
from /home/ethan/.rvm/rubies/ruby-1.9.2-head/bin/irb:16:in `<main>'
ruby-1.9.2-head :004 >
在同一个Gem中需要文件的正确方法是什么?必须有一些简单的东西我正在监督...
使用require_relative,我仍然收到错误。 https://gist.github.com/1288893 –