2013-09-07 12 views
14

Sto lavorando a una gemma (Gemma A) che utilizza un'altra gemma (Gemma B) che ho anche scritto. Fino a questo punto Gemma B è stato aggiunto nel gemspec per Gem A:Dipendenza locale in Gem .gemspec

gem.add_dependency "gem_a", "~> 0.0.4" 

Ma io ora trovare la necessità di eseguire il debug utilizzando la mia versione locale.

Per dichiarare una dipendenza locale in un Gemfile che potevo fare:

gem 'gem_a', path: "/local/path/to/gem_a" 

Ma come faccio a dichiarare una dipendenza locale in un .gemspec?

+0

Non sono sicuro se questo può essere fatto, ma sarebbe utile se le gemme vengono co-sviluppati. Il problema è che le due dichiarazioni di dipendenza riguardano due diversi programmi di installazione da elaborare. Cosa farebbe 'gem build' con una dipendenza locale? Il pacchetto risultante non può essere distribuito in modo affidabile. –

risposta

4

Hm ... che ne dici di aggiungerlo nella gemma Gemfile nel gruppo :development?

UPD: ho trovato simile domanda, forse questo aiuta

How to add dependency of a local gem to a rails plugin/engine, in .gemspec file

+0

Grazie, ma sfortunatamente non funziona. L'ho provato prima e dopo la chiamata 'gemspec'. Per qualche ragione non può vedere la gemma - ottengo un '... in 'require': impossibile caricare tale file - gem_b (LoadError) ' – Undistraction

+0

vedere il mio aggiornamento :) – Bob

5

Solo così la gente può trovare la risposta (leggermente) più veloce ...

Se si sta creando una gemma, e la necessità di aggiungere una dipendenza locale (durante lo sviluppo), in Gemfile tua di gemma, fare qualcosa di simile:

source 'https://rubygems.org' 

# Specify your gem's dependencies in mygem.gemspec 
gemspec 

gem "local_gem", path: "/path/to/local_gem" 

Quando si bundle si dovrebbe vedere è ora utilizzando il percorso locale

Using local_gem 0.1.0 from source at `/path/to/local_gem` 
Problemi correlati