【问题标题】:Custom Ruby gem is not loading with bundler自定义 Ruby gem 未使用捆绑程序加载
【发布时间】:2014-01-09 11:07:08
【问题描述】:

我正在创建一个自定义 gem (sample_gem),我想在我的一个示例 Rails 应用程序中使用它,看看它是如何工作的。在我的 gem 版本中是 0.0.1(默认)

所以到目前为止我所做的是,

  1. 创建了一个 rails4 项目 - sample project
  2. 将gem源克隆到vendor/sample_gem
  3. sample_project gem 文件中添加

    gem 'active_console','0.0.1',路径:'./vendor/active_console'

但是当我运行 bundle install 时,我收到以下错误

Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/..
Resolving dependencies...
Could not find gem 'sample_gem (= 0.0.1) ruby' in source at ./vendor/sample_gem.
Source does not contain any versions of 'sample_gem (= 0.0.1) ruby'

我在网上搜索了几个 gem,但似乎无法找出问题所在。

【问题讨论】:

  • 宝石的名称是active_console 还是sample_gem
  • 我更新了我的答案。我认为这适用于 Rails 4

标签: ruby ruby-on-rails-4 rubygems


【解决方案1】:

用以下方法修正你的序列:

假设 sample_gem 自定义 gem 位于 /home/user/git/sample_gem 文件夹中,并且 bundler 已经安装。

  1. 创建一个rails项目;

  2. 在其 Gemfile 中添加以下行:

     gem 'sample_gem', path => '/home/user/git/sample_gem'
    
  3. 问题捆绑:

     $ bundle install
    

注意:如果您的 sample_gem gem 需要 active_console gem,则在 sample_gem gem 的 Gemfile 中指定最后一个 shell。

【讨论】:

  • 感谢它终于工作了。 “活动控制台”是实际的 gem 名称 ;)。我使用sample_gem 只是为了让事情变得更简单
【解决方案2】:

导轨 4。

  1. 将 gem 的文件夹放在应用程序的根目录中
  2. 通常在 Gemfile 中调用您的 gem,如 sample_gem
  3. 捆绑安装

这现在在我的 Rails 4 应用程序中有效。

【讨论】:

  • 感谢@skozz 的回答。在对我的 samplegem.gemspec 进行一些更改后,我让它在供应商文件夹下工作,这是我的首选方式。但再次感谢您的回答
【解决方案3】:

我必须 rvm implode 并重新安装 rvm/rubies 才能正常工作...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-07
    • 2013-12-06
    相关资源
    最近更新 更多