2011-01-28 6 views
18

मणि में रूबी-डीबग 1 9 और स्क्लाइट 3-रूबी जैसी कुछ विकास निर्भरताएं हैं जहां मणि नाम और आवश्यकताएं अलग हैं। हम इसे Gemfile में उपयोग करके: आवश्यकता => 'foo' विकल्प का उपयोग करके संभालते हैं।एक जेमफाइल में 'gemspec' का उपयोग करते समय मैं कैसे करूं: आवश्यकता => 'foo'

उदा।

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

हम gemspec फाइल करने के लिए इन सभी के लिए कदम और Gemfile में 'gemspec' निर्देश उपयोग करने के लिए कोशिश कर रहे हैं।

gemspec में इन बन:

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

वहाँ कि प्रदान करने के लिए एक रास्ता है: जब s.add_dependency का उपयोग कर की आवश्यकता होती है => विकल्प?

उत्तर

14

नहीं, आप नहीं कर सकते हैं, आपको अभी भी Gemfile में मान को ओवरराइड करने की आवश्यकता है।

source "http://rubygems.org" 

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

# Specify your gem's dependencies in .gemspec 
gemspec 

छोटे टिप: यदि आप sqlite3-ruby के बजाय sqlite3 मणि (जो वास्तव में एक ही है) का उपयोग करें, तो आप एक अलग की आवश्यकता को निर्दिष्ट करने की जरूरत नहीं है।

+1

वह क्यों है? क्या add_development_dependency एक ही चीज़ को पूरा करता है: आवश्यक => झूठा? –

+2

तो मुझे लगता है कि अगर हम विकास की निर्भरता की आवश्यकता है: झूठी, तो हमें विकास की निर्भरता के रूप में पहले gemspec में मणि निर्दिष्ट करने की आवश्यकता है, फिर इसे Gemfile में विकास निर्भरता के रूप में जोड़ें और 'आवश्यकता: झूठी'? – Dennis

संबंधित मुद्दे