web-dev-qa-db-ja.com

Github BranchからGemをインストールしますか?

私のgemfileにはこれがあります:

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

私はそれをテストすることができますので、どのように私は宝石としてそれをインストールしますか?

88
Lance Pollard

あなたは、ローカルに宝石を構築する必要はありません。 gemfileでは、ref、ブランチ、またはタグでgithubソースを指定できます。

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.

Bundler 2.0の後、Gemfileの上部近くにあるこのステートメントで上記の問題を回避できます。

git_source(:github) { |repo| "https://github.com/#{repo}.git" }
190
Archonic
  1. Gitリポジトリを複製します。

    $ git clone git://github.com/odorcicd/authlogic.git
    
  2. 新しいディレクトリに移動します。

    cd authlogic
    
  3. チェックアウト支店

    $ git checkout -b Rails3 remotes/Origin/Rails3
    
  4. Gemをビルドします。

    $ rake build gem
    
  5. Gemをインストールします。

    $ gem install pkg/gemname-1.23.gem
    
62
janic_

@janic_の答えを修正して、機能させる必要があります。それが他のRuby私のようなnoobsに役立つことを願っています。

  1. Gitリポジトリを複製します。

    $ git clone git://github.com/odorcicd/authlogic.git
    
  2. 新しいディレクトリに移動します。

    $ cd authlogic
    
  3. チェックアウト支店

    $ git checkout -b Rails3 remotes/Origin/Rails3
    
  4. バンドルをインストールする

    $ bundle install
    
  5. Gemをビルドします。

    $ rake build
    
  6. Gemをインストールします。

    $ gem install pkg/gemname-1.23.gem
    
5
Hai Feng Kao

あなたがBundlerユーザーであると仮定すると、

$ bundle install

gemfileにリストされているgemをインストールします。 (そして、もしあなたがBundlerユーザーでなければ、なぜGemfileを持っているのですか?

0
sampablokuper