Wygląda na to, że rubygems chce wiedzieć, jakie są moje zależności w rozwoju, do tej pory nigdy nie widziałem, aby były one używane do ich ładowania podczas testów gem.Dlaczego powinienem dodawać zależności rozwojowe do mojego gemspec?
Odpowiedz
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.
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).
- 1. jruby gemspec lokalne zależności jar
- 2. Dlaczego warto używać GemSpec + GemFile podczas sprawdzania zależności?
- 3. Warunkowe zależności ruby gem w gemspec
- 4. Jak korzystać z zależności od github w moim gemspec?
- 5. Typy licencji na oprogramowanie rozwojowe
- 6. Lokalna zależność w Gem .gemspec
- 7. Zależność warunkowa w Ruby Gemspec
- 8. Jak naprawić nieprawidłowy gemspec?
- 9. Czy powinienem przypiąć moje wersje zależności Pythona?
- 10. Dlaczego powinienem używać Drools?
- 11. dlaczego nie mogę dołączyć do mojego procesu?
- 12. Jak dodawać pola do kolekcji Meteor.users
- 13. Dlaczego dodawać pliki nagłówkowe do polecenia ADD_LIBRARY/ADD_EXECUTABLE w CMake
- 14. Dlaczego musisz dodawać nawiasy do + - operacji przy konkatenacji?
- 15. Dlaczego Jquery dodaje style śródtekstowe do mojego html?
- 16. Dlaczego powinienem utworzyć wzór repozytorium z jednostką pracy na górze mojego EF?
- 17. Haml: Jak dynamicznie dodawać klasy do elementu?
- 18. Dlaczego powinienem osadzić język skryptowy?
- 19. Dlaczego nie powinienem używać atoi()?
- 20. Dlaczego powinienem używać io_service :: work?
- 21. Dlaczego powinienem lub nie powinienem używać API camera2 w Androidzie?
- 22. Dynamicznie dodawać komponenty do JDialog
- 23. Jak dodawać godziny do NSDate?
- 24. Jak dynamicznie dodawać malejąco do orderby?
- 25. ckeditor dynamicznie dodawać uiElement
- 26. Dlaczego cron nie wykonuje mojego skryptu node.js?
- 27. dodawać własne atrybutów znaczników HTML do
- 28. Dlaczego potrzebuję brokera do mojego produkcyjnego stosu ELK + specyfikacji maszyny?
- 29. Dlaczego Cordova/Phonegap dołącza 8 do mojego kodu wersji Android?
- 30. Dlaczego nie mogę zaimportować mojego C# do IronPython?
Używam Gemfile dla pierwszego, a drugi to rodzaj bezużytecznego imo, ale dobrze wiedzieć, że nic więcej się nie dzieje :) – grosser