2010-05-12 25 views
73

En mi Gemfile tengo esto:Instalar gema de Github Branch?

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

¿Cómo se instala una joya que a medida para que pueda probarlo?

+4

es posible que desee aceptar la respuesta que no implique la construcción de la gema. Pero estoy parcializado :) – Archonic

+1

Hola, Lance, creo que deberías cambiar la respuesta aceptada a @Archonics, ya que está bastante claro que es la favorita. –

+1

@Freddy hecho! gracias por señalar :) –

Respuesta

171

No necesitas construir la gema localmente. En tu gemfile puedes especificar una fuente github con una ref, una rama o una etiqueta.

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" 

entonces se corre bundle install o la forma corta es sólo bundle

Lea más sobre esto aquí:. http://bundler.io/man/gemfile.5.html#GIT

actualización: Hay a github source identifier.

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

Sin embargo, advierten contra el uso de ella: 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.

+7

¡Este es más limpio! –

+0

actualización de 2017, no pude obtener el identificador de origen de GitHub para trabajar, pero el: git => ref funciona bien – Amias

+0

Tal vez sus travesuras de Windows, pero con RubyInstaller 2.3 en Windows 10, tengo la misma configuración para una joya que tengo es inédito, y publico el comando 'bundle install', RubyGems dice que está buscando el repositorio de git, y está instalado, pero cuando lo hago' gema gemname 'lista no aparece en mis gems instalados localmente. – Pred

59
  1. Copie el repositorio de Git.

    $ git clone git://github.com/odorcicd/authlogic.git 
    
  2. Cambiar al nuevo directorio.

    cd authlogic 
    
  3. Pedido rama

    $ git checkout -b rails3 remotes/origin/rails3 
    
  4. Construir la gema.

    $ rake build gem 
    
  5. Instalar la gema.

    $ gem install pkg/gemname-1.23.gem 
    
+13

Necesitaba cambiar 4. a "construir rastrillo" para construir la gema. –

+6

En lugar de 4. Tuve que usar gem build nombre-de-archivo.gemspec para construir la estructura gem rake o mi joya no funcionó – marimaf

+2

En lugar de 4 y 5 puedes hacer "rake install" – drinor

2

Suponiendo que usted es un usuario de Bündler,

$ bundle install 

instalará las gemas que aparecen en su Gemfile. (Y si no eres un usuario de Bundler, ¿por qué tienes un Gemfile?

+0

Si está pensando en rechazar esta respuesta, primero explique * por qué * cree que debería ser rechazada. Los votos a la baja sin retroalimentación constructiva no son útiles para facilitar la comprensión. Gracias. – sampablokuper

2

tengo que modificar la respuesta de @ janic_ para hacer que funcione. Espero que ayude a otros noobs rubí como yo.

  1. Copie el repositorio de Git.

    $ git clone git://github.com/odorcicd/authlogic.git 
    
  2. Cambiar al nuevo directorio.

    $ cd authlogic 
    
  3. Pedido rama

    $ git checkout -b rails3 remotes/origin/rails3 
    
  4. Instalar paquetes

    $ bundle install 
    
  5. Construir la gema.

    $ rake build 
    
  6. Instalar la gema.

    $ gem install pkg/gemname-1.23.gem