¿Cómo puedo instalar una gema local?


Si descargo un .archivo gem a una carpeta en mi computadora, ¿puedo instalarlo más tarde usando gem install?

 316
Author: the Tin Man, 2008-10-21

7 answers

Sí, cuando lo hagas gem install, buscará el directorio actual primero, así que si tu .el archivo gem está ahí, lo recogerá. Lo encontré en la referencia de la gema , que también puedes encontrar útil:

Gem install instalará el nombre gema. Se intentará un local instalación (es decir, a .archivo de gema en el directorio actual), y si eso falla, se intentará descargar y instalar la versión más reciente de la gema que quieres.

 272
Author: Chris Bunch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-02 12:32:03

También puedes usar gem install --local path_to_gem/filename.gem

Esto evitará la exploración habitual del repositorio de gemas que ocurre cuando se deja --local.

Puedes encontrar otra magia con gem install --help.

 317
Author: JasonTrue,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-04-06 11:17:43

También puedes usar el nombre de archivo completo para tu archivo gem:

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

Esto también funciona probably es probablemente la forma más fácil

 57
Author: lesmana,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-02-06 21:54:50

Si creas tus gemas con bundler:

# do this in the proper directory
bundle gem foobar

Puede instalarlos con rake después de que se escriban:

# cd into your gem directory
rake install

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

 33
Author: Boris Stitnicky,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-06-12 03:36:41

Si descarga el archivo de proyecto desde github u otro sitio host de scm, use gem build para construir el proyecto primero, para que pueda obtener lo que sea.archivo gem en el directorio actual. Entonces gem instalarlo!

 12
Author: hechen0,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-01-05 11:39:13

Si desea trabajar en una bifurcación modificada localmente de una gema, la mejor manera de hacerlo es

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

En un Gemfile.

... donde ./pry sería el clon de tu repositorio. Simplemente ejecute bundle install una vez, y cualquier cambio en las fuentes de gema que realice se reflejará inmediatamente. Con gem install pry/pry.gem, las fuentes todavía se mueven a GEM_PATH y siempre tendrá que ejecutar bundle gem pry y gem update para probar.

 8
Author: MattW.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-19 20:38:47

Vaya a la ruta donde está la gema y llame a gem install -l gemname.gem

 5
Author: leobelizquierdo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-01-25 23:04:03