1

私はいくつかの調査を行いましたが、私の問題には何も当てはまりません...

私はgemを構築しているので、このようなディレクトリ構造を持っています

root/ - lib/ - mygem/   - cli.rb
                        - version.rb
                        - xmltemplates.rb
             - mygem.rb
      - bin/

それはthorアプリなので、cli.rb私は持っています:

require 'thor'
require 'mygem/version'
require 'mygem/xmltemplates'

module MyGem
    #STUFF
end

そしてでvesrion.rb

module MyGem
    VERSION = '0.1.0'
end

とでxmltemplates.rb

module MyGem
    MY_TEMPLATE = 'TEST'
end

gem としてコンパイルしようとするとエラーが発生するので、irb で試すことにしました。

したがって、このテストではcd lib、自分自身を lib ディレクトリに対してローカルにしました。

1.9.3-p392 :001 > require 'rubygems'
 => false
1.9.3-p392 :003 > require 'mygem'
 => true
1.9.3-p392 :005 > require 'mygem/cli'
LoadError: cannot load such file -- mygem/xmltemplates
    from /Users/user/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /Users/user/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /Users/user/.rvm/gems/ruby-1.9.3-p392/gems/mygem-0.1.0/lib/mygem/cli.rb:3:in `<top (required)>'
    from /Users/user/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /Users/user/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from (irb):5
    from /Users/user/.rvm/rubies/ruby-1.9.3-p392/bin/irb:16:in `<main>'
1.9.3-p392 :007 > require 'mygem/xmltemplates'
LoadError: cannot load such file -- mygem/xmltemplates
    from /Users/user/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /Users/user/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from (irb):7
    from /Users/user/.rvm/rubies/ruby-1.9.3-p392/bin/irb:16:in `<main>'
1.9.3-p392 :009 > require 'mygem/version'
 => true
1.9.3-p392 :010 > MyGem::VERSION
 => "0.1.0"

mygem/version要約すると、find をロードしてロードしない理由はありmygem.xmltemplatesますか? ファイルのアクセス許可も確認しましたが、それらはすべて同一です。

私が読んだ以前の投稿のいくつかは言及しましたが、それは私にとってはうまくいきませrequire_relativeんでした。cli.rbversion.rb

4

1 に答える 1