2011-01-28 8 views
18

Klejnot ma kilka zależności rozwojowych, takich jak ruby-debug19 i sqlite3-ruby gdzie nazwa gem i wymagają są różne. Zajmujemy się tym w Gemfile, używając opcji: require => 'foo'.Podczas używania „gemspec” w Gemfile Jak mogę zrobić to: require => „foo”

np.

gem "sqlite3-ruby", :require => "sqlite3" 
gem 'ruby-debug19', :require => 'ruby-debug' 

staramy się poruszać wszystkie z nich do pliku gemspec i użyć dyrektywy „gemspec” w Gemfile.

w gemspec stają się one:

s.add_development_dependency "sqlite3-ruby" 
s.add_development_dependency 'ruby-debug19' 

Czy istnieje sposób, aby zapewnić, że: wymagają => opcję podczas korzystania s.add_dependency?

Odpowiedz

14

Nie, nie można, trzeba jeszcze, aby zastąpić wartość w Gemfile.

source "http://rubygems.org" 

gem 'ruby-debug19', :require => 'ruby-debug' 

# Specify your gem's dependencies in .gemspec 
gemspec 

Mała wskazówka: jeśli używasz sqlite3 gem zamiast sqlite3-ruby (który jest faktycznie taki sam), to nie ma potrzeby, aby określić inny wymagać.

+1

Dlaczego tak jest? Czy parametr add_development_dependency zapewnia to samo, co: required => false? –

+2

Więc myślę, że jeśli chcemy 'wymagać: FALSE zależność rozwoju, to musimy określić gem w gemspec najpierw jako zależność rozwoju, a następnie dodać go do Gemfile jako zależność rozwoju i' wymagać: FALSE? – Dennis

Powiązane problemy