Install Gem from Github Branch?
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?
Solution 1:
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" }
Solution 2:
-
Clone the Git repository.
$ git clone git://github.com/odorcicd/authlogic.git
-
Change to the new directory.
cd authlogic
-
Checkout branch
$ git checkout -b rails3 remotes/origin/rails3
-
Build the gem.
$ rake build gem
-
Install the gem.
$ gem install pkg/gemname-1.23.gem
Solution 3:
I have to modify @janic_'s answer to make it work. Hope it will help other ruby noobs like myself.
-
Clone the Git repository.
$ git clone git://github.com/odorcicd/authlogic.git
-
Change to the new directory.
$ cd authlogic
-
Checkout branch
$ git checkout -b rails3 remotes/origin/rails3
-
Install bundles
$ bundle install
-
Build the gem.
$ rake build
-
Install the gem.
$ gem install pkg/gemname-1.23.gem