¿Cómo se puede configurar Bundler / Gemfile para usar diferentes fuentes de gemas durante el desarrollo?
Tengo una aplicación Sinatra que requiere otra gema que estoy desarrollando localmente. Tengo problemas para configurar Bundler para usar mi código de gema local durante el desarrollo, pero mi código de gema vendida en producción.
Idealmente podría hacer algo como esto, pero Bundler no te permite especificar la misma gema dos veces:
# Doesn't work:
group :development do
gem 'awesome', :path => "~/code/awesome"
end
group :production do
gem 'awesome', :path => "vendor/gems/awesome-0.0.1"
end
ientras tanto, he recurrido a vender manualmente la gema y actualizar la fuente de la gema en el Gemfile cada vez que la implemento, lo cual es bastante complicado. Mi flujo de trabajo es este:
Point a mi joya local durante el desarrollogem 'awesome', :path => "~/code/awesome"
)Cuando esté listo para desplegar, desempaquete la gema envendor/gems
Update Gemfile para señalar gema vendida gem 'awesome', :path => "vendor/gems/awesome-0.0.1"
)Correrbundle install
(para actualizar Gemfile.lock)Deploy codeVuelva al paso 1.¡Qué lío! Me gustaría hacer algo más limpio que simplemente escribir tareas de Rake para automatizar mi configuración actual.
¿Cuál es el mejor flujo de trabajo para este escenario?