rails guides gems rubygems

rubygems - guides - ruby toolbox



¿Cómo instalar gema desde la fuente de GitHub? (10)

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

¿Cómo hago esto?


Bueno, eso depende del proyecto en cuestión. Algunos proyectos tienen un archivo * .gemspec 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 "gema" o "build" o algo por el estilo, en este caso tienes que invocar "rake", pero eso depende del proyecto.

En ambos casos hay que descargar la fuente.


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

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

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


En su Gemfile, agregue lo siguiente:

gem ''example'', :git => ''git://github.com/example.git''

También puede agregar ref, opciones de rama y etiqueta,

Por ejemplo, si desea descargar desde una rama en particular:

gem ''example'', :git => "git://github.com/example.git", :branch => "my-branch"

Entonces corre:

bundle install


En una máquina Linux nueva, también es necesario instalar el comando git. El comando del paquete lo usa detrás de las escenas.


OBSOLETO (ver comentarios)

Si el proyecto es de github, y está contenido en la lista en http://gems.github.com/list.html , entonces puede agregar el repositorio de github a las fuentes de gemas para instalarlo:

$ gem sources -a http://gems.github.com $ sudo gem install username-projectname


Prueba la gema specific_install que te permite instalar una gema desde su repositorio github (como ''edge''), o desde una URL arbitraria. Muy útil para forzar gemas y piratearlas en múltiples 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


Si instala con bundler como lo sugiere gryzzly y la gema crea un binario, asegúrese de ejecutarlo con el bundle exec mygembinary ya que la gema se almacena en un directorio de bundler que no está visible en la ruta de gema normal.


Si obtienes tus gemas de un repositorio público de GitHub, puedes usar la taquigrafía

gem ''nokogiri'', github: ''tenderlove/nokogiri''


También puedes hacer gem install username-projectname -s http://gems.github.com


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

# 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 http://bundler.io/git.html