Bundler gem, установленный с github, устанавливается в другом месте - PullRequest
1 голос
/ 03 августа 2011

Я пытаюсь установить гем из github следующим образом:

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

Проблема в том, что камень на самом деле не загружается. Рубиновых объектов там нет.

Итак, bundle show omniauth показывает мне: Users/felipe/.rvm/gems/ruby-1.9.2-p136/bundler/gems/omniauth-5972c94792cf

Проблема в том, что камень устанавливается в другое место, чем обычные. Я ожидал, что это будет `/Users/felipe/.rvm/gems/ruby-1.9.2-p136/gems/``

Есть идеи, как это исправить?

Ответы [ 2 ]

1 голос
/ 03 августа 2011

Я думаю, вам не хватает этих двух строк:

require "rubygems"
require "bundler/setup"

Как вы можете видеть в исходном коде Bundler, "bundler / setup" собирается поместить гемы, управляемые Bundler, в путь загрузки Ruby: https://github.com/carlhuda/bundler/blob/1-0-stable/lib/bundler/setup.rb#L22

Надеюсь, это поможет:)

1 голос
/ 03 августа 2011

попробуйте изменить строку упаковщика на.

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

Проблема в том, что свойство your: require указывало на неверный файл для загрузки. Между прочим, это не всегда то же самое имя, что и для библиотеки. Кстати, когда и имя lib, и require одинаковы, указывать его не нужно, только если они различаются.

...