Ruby 安装未发布的gem会导致;“没有要加载的此类文件”;
我正在构建一个本地的gem,我希望能够在pry中测试和使用它。我正在通过Ruby 安装未发布的gem会导致;“没有要加载的此类文件”;,ruby,rubygems,bundler,irb,Ruby,Rubygems,Bundler,Irb,我正在构建一个本地的gem,我希望能够在pry中测试和使用它。我正在通过bundle gem blah创建我的gem gem列表显示gem gem contents blah确认它安装在我的GEMPATH中的某个位置 gem“blah”,:path=>“path/to/gem”使其在rails控制台中可用 但当我简单地尝试要求它时,它的内部require“file”代码似乎不起作用。我用以下结构开始了一个示例gem: ├── Gemfile ├── LICENSE ├── README.md
bundle gem blah
创建我的gem
显示gemgem列表
确认它安装在我的GEMPATH中的某个位置gem contents blah
使其在rails控制台中可用gem“blah”,:path=>“path/to/gem”
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或通过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和其他gems建立的实践来做事,但也许我在某个地方出了差错。请在直接运行ruby时尝试指定加载路径。这可以确保您的gem中相对需要的所有文件也都能找到 因此,在rails根目录中调用ruby时
ruby-rubygems-Ilib-e'需要“废话”
还是在撬箱子里
pry-I lib…
希望能有所帮助。非常感谢,伊坦波。这正是我所需要的。