Si descargo un archivo .gem a una carpeta en mi computadora, ¿puedo instalarlo más tarde usando gem install
?
Sí, cuando lo haga gem install
, buscará primero el directorio actual, por lo que si su archivo .gem está allí, lo recogerá. Lo encontré en la referencia de gemas , que también puede encontrar útil:
gem install instalará la gema nombrada. Intentará una instalación local (es decir, un archivo .gem en el directorio actual), y si eso falla, intentará descargar e instalar la versión más reciente de la gema que desee.
Gemfile
pero no un .gem
archivo. Entonces, ¿qué es este .gem
archivo? ¿Qué debería contener? - Espera - ya veo. Te refieres a un gem-name.gem
archivo. Recuerde que en Unix es bastante normal tener un archivo que comience con un '.' así que es mejor explicarlo.
Además, puedes usar gem install --local path_to_gem/filename.gem
Esto omitirá el escaneo habitual del repositorio de gemas que ocurre cuando lo dejas --local
.
Puedes encontrar otra magia con gem install --help
.
También puede usar el nombre de archivo completo para su archivo de gemas:
gem install /full/path/to/your.gem
esto también funciona: es probablemente la forma más fácil
Si creas tus gemas con bundler:
# do this in the proper directory
bundle gem foobar
Puede instalarlos con rastrillo después de que estén escritos:
# cd into your gem directory
rake install
Lo más probable es que tu gema descargada también lo sepa rake install
.
si descarga el archivo del proyecto desde github u otro sitio de host scm, use gem build para compilar primero el proyecto, de modo que pueda obtener un archivo whatever.gem en el directorio actual. Entonces gema instalarlo!
Si desea trabajar en una bifurcación de una gema modificada localmente, la mejor manera de hacerlo es
gem 'pry', path: './pry'
en un Gemfile
... donde ./pry
estaría el clon de su repositorio. Simplemente ejecute bundle install
una vez, y cualquier cambio en las fuentes de gemas que realice se reflejará inmediatamente. Con gem install pry/pry.gem
, las fuentes aún se trasladan GEM_PATH
y siempre tendrá que ejecutar ambas bundle gem pry
y gem update
probar.
Ve al camino donde está la gema y llama gem install -l gemname.gem
Bueno, esta es mi instalación SECA:
[Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache
)*.gems
archivos" a un ordenador sin gemas en lugar propio caché joya (por defecto el mismo camino patrón de primer paso: [Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache
)[Ruby Installation version]/lib/ruby/gems/[Ruby version]/cache
) y disparará el gem install anygemwithdependencieshere
(por ejemplo cucumber-2.99.0
)Está SECO porque después de instalar cualquier gema, por defecto, rubygems coloca el archivo de gema en el directorio de gemas de caché y no tiene sentido duplicar esos archivos, es más fácil si desea que ambas computadoras tengan las mismas versiones (o bloqueadas por reglas de seguridad paranoicas: v)
Editar: en algunas versiones de ruby o rubygems, no funciona y dispara alertas o errores, puede colocar gemas en otro lugar pero no secarse, otra alternativa es usar el comando de lanzamiento integrado
gem server
y agregar la URL localhost en fuentes de gemas, más información en: https://guides.rubygems.org/run-your-own-gem-server/
Puede descargar gemas desde https://rubygems.org/gems/ o construir su gema local a través de un paquete y un estante.
p.ej:
Tenga cuidado de instalar dependencias antes de instalar gemas reales.
Nota: Si usa td-agent fluentd y ruby en la misma máquina. Asegúrese de utilizar el comando td-agent-gem de td-agent. td-agent tiene su propio Ruby.