【问题标题】:Ruby Gem installed through bundler and Gemfile not loading通过捆绑程序安装的 Ruby Gem 和 Gemfile 未加载
【发布时间】:2014-10-23 05:47:24
【问题描述】:

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'

我在 ruby​​gems.org 设置中遗漏了什么吗?

【问题讨论】:

  • 听起来您还没有将 gem 发布到 ruby​​gems.org... 您是否遵循了本指南? guides.rubygems.org/publishing
  • 它是托管的。 rubygems.org/gems/checkr我错过了什么吗?
  • 那时可能只需要时间来传播。 :)。我不确定——我猜在这一点上。

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


【解决方案1】:
$ 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 存储库并在本地构建 gem。该 gem 包含 lib/checkr/ 中的所有文件,因此您只需发布新版本的 gem 即可。

【讨论】:

  • 谢谢。是的。最新的 gem 版本缺少一些文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-14
  • 1970-01-01
  • 2019-03-08
  • 2012-06-07
  • 1970-01-01
相关资源
最近更新 更多