2011-01-28 16 views
18

Mücevher, mücevher adı ve gereksiniminin farklı olduğu ruby-debug19 ve sqlite3-ruby gibi bazı geliştirme bağımlılıklarına sahiptir. Bunu, Gemfile'da: require => 'foo' seçeneğini kullanarak ele alıyoruz.Bir Gemfile içinde 'gemspec' kullanırken ne yapmalıyım: require => 'foo'

örn.

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

Biz gemspec dosyaya bütün bu hareket ve Gemfile içinde 'gemspec' yönergesini kullanmaya çalışıyorsunuz.

gemspec bu hale:

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

o sağlamak için bir yol var mı: s.add_dependency kullanırken => seçeneğini gerektirir?

cevap

14

Hayır, yapamazsınız, hala Gemfile'daki değeri geçersiz kılmanız gerekir.

source "http://rubygems.org" 

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

# Specify your gem's dependencies in .gemspec 
gemspec 

Küçük bir ipucu: Eğer (aslında aynıdır) yerine sqlite3-ruby ait sqlite3 mücevher kullanırsanız, o zaman farklı bir ihtiyaç belirtmek gerekmez.

+1

Neden? Add_development_dependency ile aynı şeyi yapar mı: required => false? –

+2

Yani, eğer 'ister istemez: eğer bir geliştirme bağımlılığı istiyorsak, o zaman gemspec'in ilkini bir geliştirme bağımlılığı olarak belirtmeliyiz, sonra onu bir geliştirme bağımlılığı olarak Gemfile'a eklemeliyiz ve' gerektirir: false '? – Dennis

İlgili konular