Estoy ayudando en el desarrollo de una serie de gemas interrelacionadas. Como tal, no quiero que tengan una dependencia fuerte el uno del otro, pero yo do quiero que ejecuten pruebas en desarrollo que se usen entre sí. Simple ¿verdad? Simplemente use add_development_dependency
en gemspec, ¿verdad? Bueno, hay una pequeña arruga: el repositorio de git contiene todas las gemas, por lo que quiero que el Gemfile apunte a la copia local de la gema. Esto funciona con una dependencia dura. En el gemspec, tengo esta línea para mi dependencia estricta:Gema y paquete: Agregar una dependencia de desarrollo con una ruta relativa
s.add_dependency "mygem-core"
Y luego en el Gemfile, tengo esta línea:
gem "mygem-core", :path => "../mygem-core"
Esto funciona perfecto. La dependencia existe para cuando saco este paquete, y cuando estoy probando, usará la copia local de mygem-core. El problema es que cuando pongo esto en el gemspec:
s.add_development_dependency "mygem-runtime"
Y entonces esta en el Gemfile:
gem "mygem-runtime", :path => "../mygem-runtime"
Entonces me sale un error cuando corro paquete:
You cannot specify the same gem twice coming from different sources. You specified that mygem-packager (>= 0) should come from source at ../mygem-packager and
Sí, eso no es un error tipográfico al final. Literalmente hay un espacio en blanco y vacío al final para la segunda 'ubicación'. ¿Hay alguna manera inteligente de evitar esto? Quiero agregar esto como una dependencia de desarrollo, y usar la fuente local. ¿Qué me estoy perdiendo?