首页 文章

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

提问于
浏览
0

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

uninitialized constant Checkr (NameError)

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

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

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

1 回答

  • 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的新版本就可以了 .

相关问题