2013-09-07 15 views
14

Pracuję nad klejnotem (Klejnot A), który wykorzystuje inny klejnot (Klejnot B), który również napisałem. Do tego momentu Gem B został dodany w gemspec dla GEM:Lokalna zależność w Gem .gemspec

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

Ale teraz znaleźć potrzebę debugowania za pomocą mojego lokalną wersję.

Aby zadeklarować lokalną zależność w Gemfile mogłem zrobić:

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

Ale jak mogę zadeklarować lokalną zależność w .gemspec?

+0

nie wiem, czy można to zrobić, ale byłoby przydatne, jeśli kamienie są opracowany wspólnie. Kłopot w tym, że dwie deklaracje zależności są przeznaczone dla dwóch różnych instalatorów. Co zrobi "gem build" z lokalną zależnością? Wynikowy pakiet nie może być niezawodnie dystrybuowany. –

Odpowiedz

4

Hm ... co powiesz o dodaniu go do grupy Gemfile w grupie :development?

UPD: Znalazłem podobne pytanie, może to pomoże

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

+0

Dzięki, ale niestety to nie działa. Próbowałem już przed i po wywołaniu 'gemspec'. Z jakiegoś powodu nie może zobaczyć tego klejnotu - dostaję "... w' require ": nie mogę załadować takiego pliku - gem_b (LoadError) ' – Undistraction

+0

zobacz moją aktualizację :) – Bob

5

Tak więc ludzie mogą znaleźć odpowiedzi (nieznacznie) szybciej ...

Jeśli tworzysz gem, i trzeba dodać lokalną zależność (przy opracowywaniu), w swojej gem Gemfile, zrób coś takiego:

source 'https://rubygems.org' 

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

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

Kiedy bundle powinieneś zobaczyć to teraz przy użyciu lokalnej ścieżki

Using local_gem 0.1.0 from source at `/path/to/local_gem` 
Powiązane problemy