2014-04-08 13 views
13

में बनाम प्रोजेक्ट बनाम आवश्यकता और स्थापित करने के बीच अंतर मुझे नहीं लगता कि create-project संगीतकार में कैसे काम करता है। उदाहरण के तौर पर Laravel लेते हैं।संगीतकार

मैं निम्न आदेश के साथ इस पीएचपी ढांचा स्थापित कर सकते हैं:

composer create-project laravel/laravel --prefer-dist 

यह आदेश मुझे मेरे dir के रूट में कुछ फ़ोल्डर के साथ मुझे छोड़ने के लिए ढांचे को स्थापित करता है:

  • एप्लिकेशन
  • बूटस्ट्रैप
  • सार्वजनिक
  • विक्रेता

कुछ फाइलें।

लेकिन जब मैं बस निम्नलिखित संगीतकार आदेश का उपयोग करें:

composer require laravel/laravel --prefer-dist 
composer install 

तो यह केवल vendor फ़ोल्डर स्थापित करता है। संगीतकार द्वारा कोई अन्य फाइलें और फ़ोल्डर्स डाउनलोड नहीं होते हैं।

कैसे आते हैं? इतना अलग क्या है? जब मैं create-project laravel/laravel कमांड का उपयोग करता हूं तो संगीतकार कैसे पता लगाता है और जब मैं require laravel/laravel करता हूं तो मुझे केवल vendor फ़ोल्डर क्यों मिलता है?

उत्तर

8

requirecomposer.json फ़ाइल पर निर्भरता जोड़ देगा और इसे vendor निर्देशिका में लोड करेगा जैसा आपने सही ढंग से देखा है।

दूसरी ओर create-projectहोगा क्लोन निर्भरता है, यानी एक नई परियोजना के लिए एक टेम्पलेट के रूप में निर्भरता का उपयोग करें। laravel/laravel के पीछे भंडार पर एक नज़र डालें: https://github.com/laravel/laravel

+2

धन्यवाद। मैं इसे पहले देखने में असफल रहा, लेकिन अब मैं इसे समझता हूं। 'लार्वेल/लार्वेल' रेपो को 'लार्वेल/फ्रेमवर्क' की आवश्यकता होती है जो बदले में अपनी सभी 'रोशनी' निर्भरताओं की आवश्यकता होती है। उन 'रोशनी' निर्भरताओं के लिए अन्य सभी तृतीय पक्ष libs की आवश्यकता होती है। तो इस तरह यह अंततः संगीतकार के माध्यम से बनाया गया है (अगर किसी में रुचि थी)। – Vivendi