Ruby Gem通过bundler和Gemfile安装而不加载

时间:2014-10-23 05:47:25

标签: ruby-on-rails ruby git gem gemfile

Checkr是我最近构建的gem,代码托管在github中,gem托管在rubygems.org中。 如果我们使用bundler安装它,请指定gem' checkr'在Gemfile中,它没有加载。我们收到此错误:

uninitialized constant Checkr (NameError)

但是在Gemfile中从github安装它可以正常工作,我想。

gem 'checkr', git: 'https://github.com/vijendra/checkr.git'

我在rubygems.org设置中遗漏了一些东西吗?

1 个答案:

答案 0 :(得分:2)

$ gem install checkr
Successfully installed checkr-0.0.2
1 gem installed

$ ruby -e "require 'checkr'"
/Users/radarek/.rbenv/versions/2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:121:in `require': cannot load such file -- checkr/base (LoadError)
        from /Users/radarek/.rbenv/versions/2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:121:in `require'
        from /Users/radarek/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/checkr-0.0.2/lib/checkr.rb:1:in `<top (required)>'

$ ls /Users/radarek/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/checkr-0.0.2/lib/checkr/
candidate.rb  core_ext.rb  report.rb  subaccount.rb  version.rb

如您所见,您的gem版本缺少base.rb文件。我克隆了你的github repo并在本地构建了gem。这个gem包含来自lib / checkr /的所有文件,所以你只需要发布你的gem的新版本就可以了。