Установите Gem из ветки Github?

В моем gemfile у меня есть следующее:

gem "authlogic", :git => "git://github.com/odorcicd/authlogic.git", :branch => "rails3"

Как установить это как драгоценный камень, чтобы я мог его протестировать?

Ответ 1

Вам не нужно строить камень локально. В вашем gemfile вы можете указать источник github с ref, branch или tag.

gem 'rails', :git => "git://github.com/rails/rails.git", :ref => "4aded"
gem 'rails', :git => "git://github.com/rails/rails.git", :branch => "2-3-stable"
gem 'rails', :git => "git://github.com/rails/rails.git", :tag => "v2.3.5"

Затем вы запускаете bundle install или краткая форма - просто bundle.

Подробнее об этом читайте здесь: http://bundler.io/man/gemfile.5.html#GIT

Обновление: есть идентификатор источника github.

gem 'country_select', github: 'stefanpenner/country_select'

Однако они предупреждают против его использования: NOTE: This shorthand should be avoided until Bundler 2.0, since it currently expands to an insecure git://URL. This allows a man-in-the-middle attacker to compromise your system. NOTE: This shorthand should be avoided until Bundler 2.0, since it currently expands to an insecure git://URL. This allows a man-in-the-middle attacker to compromise your system.

После Bundler 2.0 вы можете обойти вышеупомянутую проблему с помощью этого оператора в верхней части Gemfile:

git_source(:github) { |repo| "https://github.com/#{repo}.git" }

Ответ 2

  • Клонировать хранилище Git.

    $ git clone git://github.com/odorcicd/authlogic.git
    
  • Перейдите в новый каталог.

    cd authlogic
    
  • Отправка ветки

    $ git checkout -b rails3 remotes/origin/rails3
    
  • Постройте драгоценный камень.

    $ rake build gem
    
  • Установите драгоценный камень.

    $ gem install pkg/gemname-1.23.gem
    

Ответ 3

Мне нужно изменить ответ @janic_, чтобы он работал. Надеюсь, что это поможет другим рубинам, вроде меня.

  • Клонировать хранилище Git.

    $ git clone git://github.com/odorcicd/authlogic.git
    
  • Перейдите в новый каталог.

    $ cd authlogic
    
  • Отправка ветки

    $ git checkout -b rails3 remotes/origin/rails3
    
  • Установить пакеты

    $ bundle install
    
  • Постройте драгоценный камень.

    $ rake build
    
  • Установите драгоценный камень.

    $ gem install pkg/gemname-1.23.gem
    

Ответ 4

Предполагая, что вы пользователь Bundler,

$ bundle install

установит драгоценные камни, перечисленные в вашем Gemfile. (И если вы не являетесь пользователем Bundler, почему у вас есть Gemfile?