Me gustaría que Bundler cargara una joya local. ¿Hay alguna opción para eso? ¿O tengo que mover la carpeta de gemas al directorio .bundle?
359
Me gustaría que Bundler cargara una joya local. ¿Hay alguna opción para eso? ¿O tengo que mover la carpeta de gemas al directorio .bundle?
Creo que puedes hacer esto:
gem "foo", path: "/path/to/foo"
spring stop
ver si realmente es el problema.Además de especificar la ruta (como mencionó Jimmy), también puede obligar a Bundler a usar una gema local para su entorno solo mediante la siguiente opción de configuración:
Esto es extremadamente útil si está desarrollando dos gemas o una aplicación de gemas y rieles una al lado de la otra.
Sin embargo, tenga en cuenta que esto solo funciona cuando ya está usando git para su dependencia, por ejemplo:
Como se ve en los documentos .
fuente
BUNDLE_PATH
(compilando un paquete para distribución). Al hacer lo que sugirió, o la respuesta de Jimmy, solo hace unausing
, y en realidad no se instala en miBUNDLE_PATH
carpeta. No pude resolver esto, ¿alguna ayuda?bundle config --delete local.GEM_NAME
bundle config disable_local_branch_check true
o Bundler se quejará de la rama. Sin embargo, tenga cuidado con esto, ya que se supone que las comprobaciones detendrán las confirmaciones incorrectasGemfile.lock
. Documentos aquí: bundler.io/v1.12/git.htmlTambién puede hacer referencia a una gema local con git si está trabajando en ella.
Entonces, si cambia, corro
Pero no estoy seguro de que todos necesiten ejecutar estos dos pasos.
fuente
bundle uninstall <gem> && bundle install
, por cada cambio que desee reflejado en su aplicaciónPara utilizar el repositorio de gemas local en un proyecto Rails, siga los pasos a continuación:
Compruebe si su carpeta de gemas es un repositorio git (el comando se ejecuta en la carpeta de gemas)
Obteniendo la ruta del repositorio (el comando se ejecuta en la carpeta de gemas)
Configurar una anulación local para la aplicación de rieles
donde
GEM_NAME
está el nombre de tu gema y/path/to/local/git/repository
es la salida del comando en el punto2
En su aplicación
Gemfile
agregue la siguiente línea:Correr
bundle install
debería dar algo como esto:donde
GEM_NAME
está el nombre de tu gema y/path/to/local/git/repository
desde el punto2
Finalmente, corre
bundle list
, no,gem list
y deberías ver algo como esto:donde
GEM_NAME
esta el nombre de tu gemaAlgunos casos importantes que estoy observando usando:
RubyMine
que no muestra gemas locales como una biblioteca externa. Puede encontrar más información sobre el error aquí y aquístop/start
el servidor de rielesSi estoy cambiando la
version
gema,stopping/starting
el servidor Rails me da un error. Para solucionarlo, estoy especificando la versión de gema en la aplicación de rieles deGemfile
esta manera:fuente
Puede hacer referencia a gemas con fuente:
source: 'https://source.com', git repository (:github => 'git/url')
y con ruta local:path => '.../path/gem_name'
.Puede obtener más información sobre Gemfiles y cómo usarlos en este artículo.
fuente
Si quieres la rama también:
fuente
Only gems with a git source can specify a branch.