¿Cómo instalar gem desde la fuente de GitHub?

Resuelto Vojto asked hace 14 años • 10 respuestas

Me gustaría instalar gem desde la última fuente de GitHub.

¿Cómo hago esto?

Vojto avatar Apr 05 '10 14:04 Vojto
Aceptado

Eso depende del proyecto en cuestión. Algunos proyectos tienen un *.gemspecarchivo en su directorio raíz. En ese caso sería:

gem build GEMNAME.gemspec
gem install gemname-version.gem

Otros proyectos tienen una tarea de rake, llamada gemo buildalgo así. En ese caso hay que invocar rake <taskname>, pero eso depende del proyecto.

En ambos casos hay que descargar la fuente.

Dominik Honnef avatar Apr 05 '2010 07:04 Dominik Honnef

En caso de que esté utilizando un paquete, debe agregar algo como esto a su Gemfile:

gem 'redcarpet', :git => 'git://github.com/tanoku/redcarpet.git'

Y en caso de que haya un .gemspecarchivo, debería poder recuperar e instalar la gema cuando se ejecuta bundle install.

UPD. Como se indica en los comentarios, para que Bundler funcione correctamente también debe agregar lo siguiente a config.ru:

require "bundler" 
Bundler.setup(:default)
Misha Reyzlin avatar Sep 14 '2011 19:09 Misha Reyzlin

Pruebe la gemaspecific_install . Le permite instalar una gema desde su repositorio de github (como 'edge') o desde una URL arbitraria. Muy útil para bifurcar gemas y piratearlas en varias máquinas y demás.

gem install specific_install
gem specific_install -l <url to a github gem>

p.ej

gem specific_install https://github.com/githubsvnclone/rdoc.git 
Kamek avatar Aug 01 '2012 21:08 Kamek

Bundler te permite usar gemas directamente desde los repositorios de git. En tu archivo de gemas:

# Use the http(s), ssh, or git protocol
gem 'foo', git: 'https://github.com/dideler/foo.git'
gem 'foo', git: '[email protected]:dideler/foo.git'
gem 'foo', git: 'git://github.com/dideler/foo.git'

# Specify a tag, ref, or branch to use
gem 'foo', git: '[email protected]:dideler/foo.git', tag: 'v2.1.0'
gem 'foo', git: '[email protected]:dideler/foo.git', ref: '4aded'
gem 'foo', git: '[email protected]:dideler/foo.git', branch: 'development'

# Shorthand for public repos on GitHub (supports all the :git options)
gem 'foo', github: 'dideler/foo'

Para obtener más información, consulte https://bundler.io/v2.0/guides/git.html

Dennis avatar Feb 10 '2015 21:02 Dennis