从github安装的Bundler gem安装在不同的位置

时间:2011-08-02 21:02:04

标签: ruby rubygems bundler

我正在尝试从github安装一个像这样的gem:

gem 'omniauth', :git => "git://github.com/intridea/omniauth.git", :require => "omniauth"

问题是gem实际上并没有被加载。红宝石物体不存在。

所以,bundle show omniauth告诉我:Users/felipe/.rvm/gems/ruby-1.9.2-p136/bundler/gems/omniauth-5972c94792cf

问题是gem正在安装到与常规gem不同的位置。我期望它是`/ Users / felipe / .rvm / gems / ruby​​-1.9.2-p136 / gems /``

有关如何解决这个问题的想法吗?

2 个答案:

答案 0 :(得分:1)

尝试将捆绑线更改为。

gem 'omniauth', :git => "git://github.com/intridea/omniauth.git", :require => 'oa-oauth'

问题是你的:require属性指向要加载的错误文件。顺便说一下,当lib name和require都是相同的时候,它们并不总是与库名相同,只有当它们不同时才会指定它。

答案 1 :(得分:1)

我认为你错过了这两行:

require "rubygems"
require "bundler/setup"

正如您在Bundler的源代码中所看到的那样," bundler / setup"将把Bundler管理的宝石放在Ruby的加载路径中: https://github.com/carlhuda/bundler/blob/1-0-stable/lib/bundler/setup.rb#L22

希望这会有所帮助:)