2011-08-08 14 views

Odpowiedz

13

Jeśli ktoś zdecyduje się zhackować klejnot z dowolnego powodu, np. otwierają go na Github, aby dodać do niego funkcję (którą mogą chcieć wnieść wkład), pomaga, jeśli wiedzą, jakich zależności rozwojowych potrzebują twoje klejnoty (np. testowanie ramek, szydercze narzędzia itp.).

Jeśli używasz Bundler z komendy gemspec, to hak do swoich zależnościach gemspec i zainstalować współzależności rozwojowych wraz z tymi uruchomieniowych po uruchomieniu

bundle install 

To oszczędza konieczności instalowania tych klejnotów ręcznie.

Polecenie gem można również wymienić wszystkie zależności gem w tym te, które rozwojowych:

gem dependency my_gem 

Gem my_gem-0.1.3 
    activerecord (~> 3.0.0) 
    json (~> 1.4.3, development) 
    rake (>= 0, development) 
    rspec (~> 2.5.0, development) 
    ruby-openid (~> 2.1.0) 

Po raz kolejny jest to prawdopodobnie bardziej dla innych ludzi, a nie dla siebie.

+0

Używam Gemfile dla pierwszego, a drugi to rodzaj bezużytecznego imo, ale dobrze wiedzieć, że nic więcej się nie dzieje :) – grosser

3

Moje klejnoty mają zwykle test jednostkowy. Ten test wymaga czasami klejnotów, które nie są potrzebne do użycia klejnotu. A może potrzebujesz dodatkowych klejnotów, aby wygenerować części klejnotu.


Raz nadużywane współzależności rozwojowych w celu określenia „opcjonalne dependecies” (dependecies były niezbędne dla pewnych specyficznych cech mojego gem, ale nie potrzebne do „normalnego” użytkowania).

Przykład: Moja aplikacja oferowała możliwość eksportu do pliku jako tekst lub pdf. Generacja pdf używa prawn. Więc krewetka jest zależna - ale nie jest konieczne korzystanie z aplikacji, wymaga jej tylko określona funkcja.

Więc nie dodałem krewetki do gem zależności (nie jest to konieczne), ale do zależności rozwoju (jest to przydatne dla gem).

+0

Nie dostaję twojego drugiego zdania – lulalala

+0

@lulalala Dodałem przykład. – knut

Powiązane problemy