я сделал некоторые исследования, и ничего совершенно не наткнется на мой вопрос ...рубин требуют не находя все файлы
Я строю камень поэтому у меня есть структура каталогов, как этот
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
Я получаю ошибки при попытке компиляции с как камень, так что я решил играть с ним в 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
нагрузили бы найти и mygem.xmltemplates
не будут? Я также проверял разрешения на файлы, и они все одинаковы.
Некоторые из предыдущих постов я прочитал упомянутый require_relative
, но это не работает для меня, и кажется, что если бы это был я не был бы в состоянии загрузить cli.rb
или version.rb
.
Мои gemspec показывает: 's.require_paths = [ 'Lib']' Вы были на него, хотя !!! Просто понял, что у меня также было это: 's.files = 'git ls-files'.split (" \ n ")'. Это была работа с копией, поэтому я не думал ее менять. Наверное, мне пришлось «git add», чтобы он работал. Спасибо за точку в правильном направлении! – IamTheFij
Это точно. Если что-то не указано в манифесте, оно не входит в комплект и не устанавливается. – tadman