2013-06-27 4 views
7

प्रोजेक्ट composer.phar install --prefer-source के माध्यम से सेट अप किया गया है और इसमें कुछ मॉड्यूल शामिल हैं जो गिट में रखे गए हैं।संगीतकार वर्कफ़्लो: जब मैं निर्भरता बदलता हूं तो composer.lock को अपडेट करने के लिए

मैं अपने आईडीई (PhpStorm) में इन सभी मॉड्यूल और उनके गिट भंडारों का प्रबंधन करता हूं और इसलिए vendor/ फ़ोल्डर में कुछ मॉड्यूल में कुछ बदलाव कर सकता है - सीधे स्रोत गिट भंडार में।

अब मैं कैसे सुनिश्चित कर सकता हूं कि composer.phar install (composer.lock रेपो में है) मेरे सहकर्मियों को मेरा हालिया मॉड्यूल संस्करण मिलता है?

अगर मैं बनाने के एक स्थानीय composer.phar update यह, composer.lock अपडेट नहीं होने पर कैसा लग रहा है क्योंकि मैं पहले से ही नवीनतम संस्करण है

+0

यदि आप किसी टैग को इंगित करते हैं, तो संस्करण नहीं बदलेगा और संगीतकार इसे अपडेट करने का कोई कारण नहीं देख पाएगा। यदि ऐसा है, तो आप पैकेज परिभाषा को बदलते समय संस्करण संख्या में वृद्धि करनी चाहिए। –

+0

मैं "*" पर इंगित करता हूं। समस्या यह है कि अद्यतन 'composer.lock' – Alex

+0

कैसे उत्पन्न करें अद्यतन नहीं किया गया है, क्योंकि आप परिवर्तनों को धक्का नहीं दे रहे हैं। विक्रेता/डीआईआर से लाइब्रेरी बदलने के बाद, आपको परिवर्तनों को दूरस्थ में धक्का देना चाहिए। उसके बाद संगीतकार नए संस्करण का पता लगाएगा और तदनुसार कार्य करेगा। और मैं आवश्यकता के अनुसार "*" के बजाय "dev-develop" या "dev-master" का उपयोग करने का सुझाव देता हूं, ताकि आप अधिक नियंत्रण प्राप्त कर सकें। –

उत्तर

4
  1. में परिवर्तन कमिट (के रूप में मैं सिर्फ सीधे vendor फ़ोल्डर में प्रतिबद्ध बनाया) मॉड्यूल repos आप अद्यतन किया है।
  2. सभी संबंधित रिमोट रिपो में परिवर्तनों को पुश करें।
  3. उचित संस्करणों के साथ नए बदलावों को टैग करें।
  4. रन composer update vendor1/package1 vendor2/package2 (या केवल composer update यदि आपको स्पष्ट होने की आवश्यकता नहीं है)।
  5. अद्यतन composer.lock फ़ाइल को कम करें और दबाएं।
  6. आपके सहकर्मियों को अद्यतन composer.lock फ़ाइल खींचने की आवश्यकता है और composer install चलाएं (लॉक फ़ाइल से नवीनतम पैकेज संस्करण स्थापित करें)।

जैसे आपका composer.json में "vendor/package": "3.5.*" के रूप में आपके द्वारा निर्दिष्ट है संस्करणों प्रतिबंध और आप उसके अनुसार कदम 4. से पहले अपने composer.json फ़ाइल को अपडेट करने की आवश्यकता होगी 3.6.0 की तरह एक नया संस्करण में चिह्नित किया है।


पीएस यह बहुत अच्छा है कि आप --prefer-source के साथ ऐसे वर्कफ़्लो का उपयोग करें। कृपया अपने composer.json में * या dev-master संस्करण प्रतिबंधों का उपयोग न करें। मैं हमेशा संस्करणों का उपयोग करने की अनुशंसा करता हूं भले ही वे शून्य प्रमुख संस्करण सीमा (0.X.X) में हों।

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

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