Install Gem from Github Branch?

十年热恋 提交于 2019-11-27 10:09:23

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" }
janic_
  1. Clone the Git repository.

    $ git clone git://github.com/odorcicd/authlogic.git
    
  2. Change to the new directory.

    cd authlogic
    
  3. Checkout branch

    $ git checkout -b rails3 remotes/origin/rails3
    
  4. Build the gem.

    $ rake build gem
    
  5. Install the gem.

    $ gem install pkg/gemname-1.23.gem
    

I have to modify @janic_'s answer to make it work. Hope it will help other ruby noobs like myself.

  1. Clone the Git repository.

    $ git clone git://github.com/odorcicd/authlogic.git
    
  2. Change to the new directory.

    $ cd authlogic
    
  3. Checkout branch

    $ git checkout -b rails3 remotes/origin/rails3
    
  4. Install bundles

    $ bundle install
    
  5. Build the gem.

    $ rake build
    
  6. Install the gem.

    $ gem install pkg/gemname-1.23.gem
    

Assuming you're a Bundler user,

$ bundle install

will install the gems listed in your Gemfile. (And if you're not a Bundler user, why do you have a Gemfile?

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!