2017-02-15 6 views
0

Я создал драгоценный камень со связкой и поместил все мои рубиновые файлы в '/ lib' в соответствии с предлагаемой документацией. Но у меня есть проблема, после того, как построить драгоценный камень команды, которые «грабли построить» и установить (камень установить PKG/камень) Я не могу использовать его, потому что:Требовать в жемчужине не работает

LoadError: cannot load such file -- mygem/client

это вызывает потому, что в главном файле я стараюсь требовать 'mygem/client.rb', который находится в Lib/mygem/client.rb и он не работает:/

Это мой gemspec:

# coding: utf-8 
lib = File.expand_path('../lib', __FILE__) 
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) 
require 'diggy/version' 

Gem::Specification.new do |spec| 
    spec.name   = "diggy" 
    spec.version  = Diggy::VERSION 
    spec.authors  = [""] 
    spec.email   = [""] 

    spec.summary  = %q{: Write a short summary, because Rubygems requires one.} 
    spec.description = %q{: Write a longer description or delete this line.} 
    spec.homepage  = "" 

    # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host' 
    # to allow pushing to a single host or delete this section to allow pushing to any host. 
    if spec.respond_to?(:metadata) 
    spec.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com'" 
    else 
    raise "RubyGems 2.0 or newer is required to protect against " \ 
     "public gem pushes." 
    end 

    spec.files   = `git ls-files -z`.split("\x0") 
    spec.bindir  = "exe" 
    spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } 
    spec.require_paths = ["lib"] 

    spec.add_development_dependency "bundler", "~> 1.14" 
    spec.add_development_dependency "rake", "~> 10.0" 
end 
+0

Можете ли вы добавить результаты команд 'gem contents mygem' (' gem contents diggy' в этом случае), а также 'git status' (изнутри каталога разработки gems). – matt

ответ

0

Предполагая, что ваш главный файл с именем mygem.rb и находится внутри lib f старше, вы должны быть в состоянии требовать файл lib/mygem/client.rb с:

require 'mygem/client' 

Обратите внимание, что я не использовал расширение .rb.