Respuestas:
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
.
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 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.