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