2012-12-20 14 views
7

मैं संगीतकार का उपयोग कर एक नई परियोजना और सिम्फनी 2 निर्भरताओं के साथ काफी अचार में हूं।संगीतकार, न्यूनतम स्थिरता और निर्भरताओं की निर्भरता

पहले कुछ स्थिति, मैं संगीतकार का उपयोग कर सिम्फनी/फ्रेमवर्क-मानक-संस्करण v2.1.5 स्थापित करता हूं। यह एक संगीतकार फ़ाइल उत्पन्न करता है जिसमें इन आवश्यकताओं और न्यूनतम-स्थिरता नोड नहीं है।

"require": { 
    "php": ">=5.3.3", 
    "symfony/symfony": "2.1.*", 
    "doctrine/orm": ">=2.2.3,<2.4-dev", 
    "doctrine/doctrine-bundle": "1.0.*", 
    "twig/extensions": "1.0.*@dev", 
    "symfony/assetic-bundle": "2.1.*", 
    "symfony/swiftmailer-bundle": "2.1.*", 
    "symfony/monolog-bundle": "2.1.*", 
    "sensio/distribution-bundle": "2.1.*", 
    "sensio/framework-extra-bundle": "2.1.*", 
    "sensio/generator-bundle": "2.1.*", 
    "jms/security-extra-bundle": "1.2.*", 
    "jms/di-extra-bundle": "1.1.*", 
    "kriswallsmith/assetic": "1.1.*@dev" 
}, 

यह ठीक काम करता है, यह सभी नवीनतम स्थिर संस्करणों को स्थापित करता है, जैसा कि यह माना जाता है।

इसके बाद, मैं एक समूह को जोड़ ->https://packagist.org/packages/kunstmaan/admin-bundle

"require": { 
    "php": ">=5.3.3", 
    "symfony/symfony": "2.1.*", 
    "doctrine/orm": ">=2.2.3,<2.4-dev", 
    "doctrine/doctrine-bundle": "1.0.*", 
    "twig/extensions": "1.0.*@dev", 
    "symfony/assetic-bundle": "2.1.*", 
    "symfony/swiftmailer-bundle": "2.1.*", 
    "symfony/monolog-bundle": "2.1.*", 
    "sensio/distribution-bundle": "2.1.*", 
    "sensio/framework-extra-bundle": "2.1.*", 
    "sensio/generator-bundle": "2.1.*", 
    "jms/security-extra-bundle": "1.2.*", 
    "jms/di-extra-bundle": "1.1.*", 
    "kriswallsmith/assetic": "1.1.*@dev", 
    "kunstmaan/admin-bundle": "dev-master" 
}, 

यह बंडल "देव-मास्टर" (https://packagist.org/packages/doctrine/doctrine-fixtures-bundle)

में पर "सिद्धांत/सिद्धांत-जुड़नार-बंडल" निर्भर करता है और वह बंडल निर्भर करता है * (https://packagist.org/packages/doctrine/data-fixtures) के साथ सिद्धांत/डेटा-फिक्स्चर पर

अब जब मैं प्रोजेक्ट में संगीतकार अद्यतन चलाता हूं, तो यह मुझे बताता है कि सिद्धांत/डेटा-फिक्स्चर निर्भरता को पूरा करने के लिए कुछ भी नहीं है। नाम में एक टाइपो या न्यूनतम स्थिरता डिफ़ॉल्ट स्थिर होने के बाद उपलब्ध "स्थिर" संस्करण उपलब्ध नहीं है।

यह "देव" स्थिरता में सिद्धांत-फिक्स्चर-बंडल स्थापित करना चाहता है, क्योंकि देव-मास्टर डालने से स्वचालित रूप से इस निर्भरता को "देव" स्थिरता में रखा जाता है। लेकिन यह इस dep के deps के लिए कुछ भी नहीं करता है, वे स्थिर के रूप में स्थापित करना चाहते हैं क्योंकि यह मेरी न्यूनतम स्थिरता है।

इस बिंदु पर मैं सिद्धांत/डेटा-फिक्स्चर जोड़कर, देव-मास्टर या @dev के साथ परियोजना में अपने composer.json को जोड़कर इसे ठीक कर सकता हूं।

लेकिन चूंकि यह केवल एक उदाहरण है (knpmenubundle, fosuserbundle, आदि) मुझे मैन्युअल रूप से जाना होगा और उन सभी डीपी को जोड़ना होगा जो मेरे स्वयं के संगीतकार फ़ाइल में इंस्टॉल नहीं होते हैं।

एक और समाधान देव को मेरी परियोजना की न्यूनतम स्थिरता छोड़ देगा, लेकिन उस समय मेरे सभी डिप्टी, सिम्फनी 2 जैसे स्थिर लोगों सहित, उनके देव संस्करण को स्थापित करेंगे, न कि टैग की गई रिलीज।

उत्तर

13

इसमें से केवल एक अच्छा तरीका है: लोगों को नाराज करें ताकि वे अधिक रिलीज टैग कर सकें। यदि आपको वास्तव में अस्थिर सामानों के साथ काम करने की ज़रूरत है तो इसके साथ सभी को श्वेतसूची में "@dev" सर्वोत्तम विकल्प आईएमओ की आवश्यकता है। यदि आपके पास स्थिर से अधिक अस्थिर है, तो आप हमेशा @stable टैग कर सकते हैं और न्यूनतम-स्थिरता को dev पर सेट कर सकते हैं। ज्यादातर मामलों में अपने गधे को बचाने के लिए अभी भी लॉक फ़ाइल है;)

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