I have a problem with require in my gem. When I user require in my main.rb like require 'folder/first'
it throw error require': cannot load such file -- folder/first (LoadError)
So my question is - Why can't I require my own files inside the gem?
├── lib
├── folder
│ ├── first.rb
│ ├── second.rb
│ ├── third.rb
│ └── version.rb
└── main.rb`
The first.rb looks like this:
module MyGem
class FirstClass
def some_method
...
end
end
The main.rb looks like this:
require 'folder/first
module MyGem
def run_first
first = MyGem::FirstClass.new
....
end
end
Gemspec:
lib = File.expand_path('../lib', __FILE__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require 'relp/version'
Gem::Specification.new do |spec|
...
spec.files = `git ls-files`.split("\n")
spec.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
spec.require_paths = ["lib"]
spec.bindir = "exe"
spec.required_ruby_version = '>= 2.0.0'
spec.add_development_dependency "bundler", "~> 1.12"
spec.add_development_dependency "rake", "~> 10.0"
spec.add_development_dependency "minitest", "~> 5.0"
end
`