Installare Gem da Github Branch?


93

Nel mio gemfile ho questo:

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

Come lo installo come gemma in modo da poterlo testare?

Risposte:


200

Non è necessario costruire la gemma localmente. Nel tuo gemfile puoi specificare una sorgente GitHub con un ref, branch o 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"

Quindi corri bundle installo la forma breve è giusta bundle.

Maggiori informazioni al riguardo qui: http://bundler.io/man/gemfile.5.html#GIT

Aggiornamento: c'è un identificatore di origine GitHub .

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

Tuttavia, avvertono di non utilizzarlo: 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.

Dopo Bundler 2.0, puoi aggirare il problema di cui sopra con questa affermazione nella parte superiore del Gemfile:

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

aggiornamento dal 2017, non sono riuscito a far funzionare l'identificatore della sorgente GitHub ma: git => ref funziona bene
Amias

Forse i suoi imbrogli di Windows, ma con RubyInstaller 2.3 su Windows 10, ho questa stessa messa a punto per un gioiello che ho che è inedito, e mi rilasciano il bundle installcomando RubyGems dice il suo recupero il repo git, e la sua installazione, ma quando lo faccio gem list gemnameè non compare nelle mie gemme installate localmente.
FilBot3

nvm, è perché mi aspetto bundle installdi installarlo come se fosse globale o per tutti i rubygem. tuttavia, lo fa per progetto, o talvolta per utente. github.com/bundler/bundler/issues/3070#issuecomment-46361014
FilBot3

Almeno per il nostro ambiente, l' github:identificatore dà l' transmits data without encryptionavviso che sto cercando di evitare. La conversione in un git:identificatore con httpspotrebbe non essere sufficiente, poiché ho anche un ramo da specificare.
Pysis

Per quanto riguarda l'installazione con l'identificatore della fonte GitHub: 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.- per il link che hai fornito
Danny Bullis

64
  1. Clona il repository Git.

    $ git clone git://github.com/odorcicd/authlogic.git
    
  2. Passa alla nuova directory.

    cd authlogic
    
  3. Filiale di cassa

    $ git checkout -b rails3 remotes/origin/rails3
    
  4. Costruisci la gemma.

    $ rake build gem
    
  5. Installa la gemma.

    $ gem install pkg/gemname-1.23.gem
    

14
Avevo bisogno di cambiare 4. in "rake build" per costruire la gemma.
raphael_turtle

6
Invece di 4. Ho dovuto usare gem build name-of-file.gemspec per creare gem rake build o rake gem non funzionava per me
marimaf

5
Invece di 4 e 5 puoi fare "rake install"
drinor

2
O direttamente da GitHub: gem 'rails', :github => 'rails', :branch => '5.0-stable'- link: bundler.io/v1.3/git.html
Danny

@Danny sarebbegithub: 'rails/rails'
Cameron Martin

5

Devo modificare la risposta di @ janic_ per farlo funzionare. Spero che possa aiutare altri niubbi rubino come me.

  1. Clona il repository Git.

    $ git clone git://github.com/odorcicd/authlogic.git
    
  2. Passa alla nuova directory.

    $ cd authlogic
    
  3. Filiale di cassa

    $ git checkout -b rails3 remotes/origin/rails3
    
  4. Installa bundle

    $ bundle install
    
  5. Costruisci la gemma.

    $ rake build
    
  6. Installa la gemma.

    $ gem install pkg/gemname-1.23.gem
    

-1

Supponendo che tu sia un utente di Bundler,

$ bundle install

installerà le gemme elencate nel tuo Gemfile. (E se non sei un utente Bundler, perché hai un Gemfile?


Se stai pensando di votare negativamente questa risposta, per favore spiega prima perché pensi che dovrebbe essere votata. I voti negativi senza un feedback costruttivo non sono utili per facilitare la comprensione. Grazie.
sampablokuper
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.