2008-10-20 19 views
305

Si descargo un archivo .gem a una carpeta en mi computadora, ¿puedo instalarlo más tarde usando gem install?¿Cómo puedo instalar una joya local?

+0

Este post está relacionada con http://stackoverflow.com/questions/1864618/install-gem-locally – Jaider

Respuesta

266

Sí, al hacer gem install, buscará primero en el directorio actual, de modo que si su archivo .gem está allí, lo recogerá. Lo encontré en el gem reference, que pueden serle útil, así:

gem install instalará el llamado joya. Intentará una instalación local (es decir, un archivo .gem en el directorio actual ), y si eso falla, intentará descargar y instalar la versión más reciente de la gema que desee.

+7

extraña, que no parece que trabajar realmente para mí en 2014. – jrochkind

+2

Enlace termina en redirecciones infinitas :(I –

304

Además, se puede utilizar gem install --local path_to_gem/filename.gem

Esto saltará la exploración repositorio joya habitual que ocurre cuando salga fuera --local.

Puede encontrar otra magia con gem install --help.

+0

descarga una gema como rubygems en formato zip. Por lo tanto, no hay ningún archivo .gem aquí.¿Cómo instalo esto desde local? Gracias. –

+2

@BoratSagdiyev, un archivo zip no es una joya. Al igual que la mayoría de los archivos zip, debe descomprimirlo antes de poder hacer mucho con él. Si contiene una gema, puede usar gem install en el archivo .gem extraído. No recuerdo las partes internas del formato gema; es posible que solo sea un archivo zip con un encabezado especial, pero rubygems no reconoce los archivos zip como tales. – JasonTrue

54

también puede utilizar el nombre completo de su archivo de joya:

gem install /full/path/to/your.gem 

esto funciona así - es probablemente la forma más fácil

29

Si crea sus joyas con bundler:

# do this in the proper directory 
bundle gem foobar 

Puede instalarlos con rastrillo después de que se escriben:

# cd into your gem directory 
rake install 

Lo más probable es que su gema descargada también sepa rake install.

+2

esto parece ser la mejor respuesta moderna. la respuesta aceptada es de hace 8 años – sixty4bit

10

si descarga el archivo de proyecto de github u otro sitio host de scm, use la construcción de gemas para compilar primero el proyecto, para que pueda obtener un archivo whatever.gem en el directorio actual. ¡Entonces gema lo instala!

4

Ir a la ruta en donde la gema es y llame gem install -l gemname.gem

4

Si quieres trabajar en un tenedor modificado localmente de una joya, la mejor manera de hacerlo es

gem 'pry', path: './pry'

en un Gemfile

... donde ./pry sería el clon de su repositorio. Simplemente ejecute bundle install una vez, y cualquier cambio en las fuentes de gemas que realice se refleja inmediatamente. Con gem install pry/pry.gem, las fuentes se siguen moviendo al GEM_PATH y siempre tendrá que ejecutar bundle gem pry y gem update para probar.

Cuestiones relacionadas