एनपीएम / बोवर / संगीतकार - अंतर?


102

क्या कोई मेरे बीच का अंतर समझा सकता है NPM, Bowerऔर Composer

वे सभी पैकेज मैनेजर हैं - सही?

लेकिन हर एक को कब इस्तेमाल किया जाना चाहिए?

इसके अलावा, हर एक को एक json फ़ाइल दिखाई देती है जो इसके साथ होती है, क्या यह उन सभी पैकेजों को संग्रहीत करता है जिनकी आपको आवश्यकता है ताकि उन्हें cmd ​​लाइन द्वारा स्थापित किया जा सके? आपको इस फ़ाइल की आवश्यकता क्यों है?

जवाबों:


192

npmनोडज पैकेज मैनेजर है। इसलिए यह नोडज वातावरण को लक्षित करता है, जिसका अर्थ आमतौर पर सर्वर-साइड नोडज प्रोजेक्ट्स या कमांड-लाइन प्रोजेक्ट्स होता है (बोवर स्वयं एक एनपीएम है)। यदि आप नोडज के साथ कुछ भी करने जा रहे हैं, तो आप npm का उपयोग करने जा रहे हैं।

bowerएक पैकेज मैनेजर है जिसका उद्देश्य वेब प्रोजेक्ट्स (फ्रंट-एंड) है। बोवर को स्थापित करने और इसे निष्पादित करने के लिए आपको एनपीएम और नोडज की आवश्यकता है, हालांकि बोवर पैकेज विशेष रूप से नोड्ज के लिए नहीं हैं, बल्कि "ब्राउज़र" वातावरण के लिए हैं।

composerएक निर्भरता प्रबंधक है जो php परियोजनाओं को लक्षित करता है। यदि आप सिम्फनी (या सादे पुराने php) के साथ कुछ कर रहे हैं, तो यह संभवतः जाने का रास्ता है

इसे सममित करना:

  • नोड कर रहा है? आप npm करते हैं
  • php कर रहा हूँ? संगीतकार की कोशिश करो
  • सामने के सिरे की जावास्क्रिप्ट? बोवर ट्राई करें

और हां, "json" फाइलें मूल पैकेज की जानकारी और निर्भरता का वर्णन करती हैं। और हां, उनकी जरूरत है।

अब, README के ​​बारे में क्या? :-)

[अद्यतन, चार साल बाद]

  • bowerपदावनत किया जाता है, और नई परियोजनाओं के लिए अब और उपयोग नहीं किया जाना चाहिए। काफी हद तक इसे नोड निर्भरता प्रबंधन (उनकी वेबसाइट से: "जबकि बोवर को बनाए रखा गया है, हम यार्न और वेबपैक या पार्सल का उपयोग करने की सलाह देते हैं")।
  • yarnएक बेहतर npm( npmदोषों के कई फिक्सिंग ) के रूप में लकड़ी से बाहर आया , और यह वास्तव में है जो आपको अभी उपयोग करना चाहिए, क्योंकि यह नया डी-फैक्टो मानक है यदि आप फ्रंट-एंड या नोड विकास कर रहे हैं। यह package.jsonnpm के समान उपभोग करता है , और इसके साथ लगभग पूरी तरह से संगत है।
  • मैं composerइस बिंदु पर उपयोग नहीं करूंगा (क्योंकि मैं उपयोग नहीं करूंगा php), हालांकि यह अभी भी जीवित और लोकप्रिय लगता है

6
Php + फ्रंटेंट एप्लिकेशन के बारे में क्या? सबसे अच्छा विकल्प क्या है?
सोमपिलसार

14
निर्भर करता है कि आप कहां रेखा खींचते हैं। क्या आपका MVC js में है (और आपका php एक WS तक कम हो गया है)? तब संभवत: बोवर का उपयोग करें। क्या आपका MVC php (कहते हैं, सिम्फनी) में है, और आपके पास js का एक गुच्छा है जो आपके सर्वर साइड व्यू में झुका हुआ है? फिर संगीतकार आपकी सबसे अच्छी पसंद है।
मंगल देवतज़

21
सबसे अधिक कष्टप्रद और काउंटर उत्पादक हिस्सा वह है जब आप पुस्तकालयों पर काम कर रहे हैं, जहां कुछ केवल बोवर का उपयोग करते हैं; कुछ केवल संगीतकार का उपयोग करते हैं और फिर भी अन्य केवल npm का उपयोग करते हैं। सिंगल पैकेज मैनेजर ढूंढना अच्छा होगा कि एक ही कमांड इन सभी पैकेज मैनेजरों को हैंडल करे। इसे इंसेप्शन कहा जाना चाहिए।
एंजल एस। मोरेनो

29
मुझे लगता है कि @ AngelS.Moreno सही है। बहुत सारे हैं एक 4 वे बनाते हैं। :)
एरिक

1
@ AngelS.Moreno आप सही हैं और मैं भी सिर्फ इंस्टॉलर और निर्भरता प्रबंधकों पर रोक से भी आगे बढ़ूंगा। सब कुछ बहुत सारे हैं। बहुत सारे जेएस लाइब्रेरी जो एक ही करते हैं, बहुत सारे PHP फ्रेमवर्क और इतने पर। अगर लोग सिर्फ एक चीज पर सहयोग कर सकते हैं, तो यह हमारे लिए बहुत कुछ बदल देगा।
JG एस्टियोट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.