我正在构建一个本地宝石,我希望能够测试并在撬动中使用它。我正在通过bundle gem blah
.
gem list
显示宝石。gem contents blah
确认它安装在我的 GEMPATH 中的某个位置。gem "blah", :path => "path/to/gem"
使其在 rails 控制台中可用。
但是当我简单地尝试并要求它时,它的内部require "file"
代码似乎不起作用。我开始了一个具有以下结构的示例 gem:
├── Gemfile
├── LICENSE
├── README.md
├── Rakefile
├── blah.gemspec
├── lib
│ ├── blah
│ │ ├── ugh.rb
│ │ └── version.rb
│ └── blah.rb
└── pkg
└── blah-0.0.1.gem
/lib/blah.rb 以以下开头:
require "blah/version"
require "blah/ugh"
当我尝试在 pry、IRB 或 via 中加载它时ruby -rubygems -e 'require "blah"'
,我得到:
~/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require': cannot load such file -- blah/ugh (LoadError)
任何想法可能导致这种差异?我觉得我正在按照 Bundler 和其他 gem 建立的做法按顺序做事,但也许我在某个地方出错了。