Install Gem from Github Branch?

Lance Pollard picture Lance Pollard · May 13, 2010 · Viewed 50.9k times · Source

In my gemfile I have this:

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

How do I install that as a gem so I can test it?

Answer

Archonic picture Archonic · Dec 6, 2012

You don't need to build the gem locally. In your gemfile you can specify a github source with a ref, branch or 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"

Then you run bundle install or the short form is just bundle.

Read more about it here: http://bundler.io/man/gemfile.5.html#GIT

Update: There's a github source identifier.

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

However, they warn against using it: 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.

After Bundler 2.0, you can get around the above issue with this statement near the top of the Gemfile:

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