प्रौद्योगिकी साझेदारी

संकुलप्रबन्धकाः - npm, yarn, cnpm, pnpm इत्यस्य तुलना

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. npm (नोड संकुल प्रबन्धनम्) .

१.१ स्थानीयस्थापनम्

आदेशस्य उपयोगं कुर्वन्तु: npm install package name अथवा npm i package name
स्थानीयतया संस्थापिताः संकुलाः वर्तमाननिर्देशिकायाः ​​अधः node_module निर्देशिकायां दृश्यन्ते
यदि स्थानीयतया संस्थापिते संकुलस्य CLI अस्ति तर्हि npm स्वस्य CLI स्क्रिप्ट् node_modules/.bin इत्यस्य अधः स्थापयति तथा च तत् आह्वयितुं npx आदेशस्य उपयोगं करिष्यति ।

१.२ वैश्विकस्थापनम्

वैश्विकरूपेण संस्थापिताः संकुलाः विशेषे वैश्विकनिर्देशिकायां स्थापिताः भवन्ति ।
npm install --global package name अथवा npm i -g package name इति आदेशस्य उपयोगं कुर्वन्तु ।
वैश्विकरूपेण संस्थापितं संकुलं सर्वेषां परियोजनानां कृते उपलब्धं नास्ति, केवलं वैश्विकरूपेण CLI साधनानि प्रदाति । अधिकांशतया, वैश्विकरूपेण संकुलस्य संस्थापनस्य आवश्यकता नास्ति ।

१.३ संस्थापनादेशः

उत्पादनवातावरणस्य उपरि निर्भरं भवति
npm i संकुलनाम
npm i --संकुलनाम रक्षतु
npm i -S संकुलनाम
विकासवातावरणे आश्रयाः संस्थापयन्तु
npm i --save-dev संकुलनाम
npm i -D संकुलनाम

1.4.मॉड्यूल् आयातयितुं nodejs इत्यस्य उपयोगं कुर्वन्, यदि मॉड्यूलमार्गः ./ अथवा.../ इत्यनेन न आरभ्यते, तर्हि node इत्यनेन चिन्तितम् यत् आयातितं मॉड्यूल् node_modules निर्देशिकातः आगच्छति ।
1.5. npm लिपि

package.json इत्यस्य स्क्रिप्ट् क्षेत्रे सामान्यतया प्रयुक्तानि CLI आदेशानि विन्यस्यन्तु तथा च स्क्रिप्ट् चालयितुं npm run स्क्रिप्ट् नाम उपयुज्यताम् । npx स्क्रिप्ट् मध्ये लोपयितुं शक्यते ।

2. npm इत्यनेन सह पूर्वसमस्याः : १.

  • निर्भरतानिर्देशिकाः गभीररूपेण निहिताः सन्ति : पूर्वं npm निर्भरताः निहिताः आसन्, विण्डोज-प्रणाली च अत्यन्तं गभीराः निर्देशिकाः समर्थयितुं न शक्नोति स्म ।
  • मन्द-अवलोकन-वेगः : गहन-नेस्टिंग्-स्तरस्य कारणात्, संकुल-अवलोकनं केवलं क्रमिकं भवितुम् अर्हति, एकस्यैव संस्करणस्य बहुविध-सङ्कुलं पुनः पुनः डाउनलोड् भवति;
  • कन्सोल् आउटपुट् जटिलम् अस्ति: अनेकाः संकुलविवरणानि मुद्रयन्
  • परियोजनाप्रत्यारोपणसमस्या: पूर्वं केवलं package.json विन्याससञ्चिका आसीत्, परन्तु package-lock.json सञ्चिका नासीत् ।

3. सूत्रस्य उद्भवः यतः तस्य निम्नलिखितलाभाः सन्ति- १.

  • सपाटनिर्देशिकासंरचनायाः उपयोगं कुर्वन्तु
  • समानान्तर डाउनलोड
  • स्थानीयसञ्चयस्य उपयोगं कुर्वन्तु
  • कन्सोल् आउटपुट् सूचनां सुव्यवस्थितं कुर्वन्तु तथा केवलं आउटपुट् कुञ्जी सूचनां कुर्वन्तु
  • सटीकनिर्भरतां अभिलेखयितुं yarn-lock सञ्चिकायाः ​​उपयोगं कुर्वन्तु

4. सूत्रेण प्रभावितः npm6 इत्यनेन सूतस्य उन्नतसंकल्पनाः आकृष्य निम्नलिखितम् अनुकूलनं कृतम् ।

  • निर्देशिका समतलीकरण
  • समानान्तर डाउनलोड
  • स्थानीय संग्रहण
  • सटीकनिर्भरतां अभिलेखयितुं package-lock.json इत्यस्य उपयोगं कुर्वन्तु
  • आदेश-उपनामानां बहूनां संख्यां योजितवान्
  • अन्तर्निर्मितं npx, भवान् स्थानीय CLI साधनानि आरभुं शक्नोति
  • कन्सोल् आउटपुट् बहुधा सरलीकरोति

5. cnpm

npm इत्यस्य रजिस्ट्री सर्वरः विदेशे अस्ति, यत् मन्दं वा विफलं वा डाउनलोड् कर्तुं शक्नोति । पूर्वं npm इत्यनेन रजिस्ट्री परिवर्तयितुं कार्यं न कृतम् आसीत्, यत् Taobao npm mirror अस्ति अन्ये उपयोगाः मूलतः npm इत्यस्य समानाः सन्ति ।

6. pnpm

  • npm तथा yarn इव अद्यापि संस्थापितानां संकुलानाम् रक्षणार्थं cache इत्यस्य उपयोगः भवति ।विस्तृतनिर्भरतासंस्करणानाम् अभिलेखनार्थं pnpm-lock.yaml इत्यस्य उपयोगं कुर्वन्तु
  • yarn तथा npm इत्येतयोः भिन्नं pnpm निर्भरतां स्थापयितुं प्रतीकात्मकलिङ्कानां हार्डलिङ्कानां च उपयोगं करोति, सञ्चिकानां प्रतिलिपिं परिहरति, संस्थापनदक्षतां सुधारयति, डिस्कस्थानस्य उपयोगं बहु न्यूनीकरोति च
  • प्रतीकात्मकलिङ्कानां हार्डलिङ्कानां च उपयोगात् pnpm विण्डोज-प्रणालीषु अतिदीर्घमार्गस्य समस्यां परिहरितुं शक्नोति, अतः वृक्षाश्रयस्य उपयोगं करोति । वृक्षाश्रयस्य कारणात् परियोजनाः केवलं प्रत्यक्षनिर्भरतायाः उपयोगं कर्तुं शक्नुवन्ति, न तु परोक्षनिर्भरतायाः ।

7. pnpm सिद्धान्तः १.

  • सञ्चिकायाः ​​सारः : सञ्चिका वस्तुतः बाह्यभण्डारणसङ्केतं (हार्डडिस्क, USB फ्लैशड्राइव्) सूचयति सूचकः भवति । सञ्चिकां विलोपनेन वस्तुतः सूचकं विलोप्यते, अतः अतीव द्रुतं भवति ।
  • सञ्चिकायाः ​​प्रतिलिपिः : सञ्चिकासूचकेन सूचितां सामग्रीं प्रतिलिपिं कुर्वन्तु, ततः नूतनसामग्रीम् सूचयन् नूतनं सूचकं जनयन्तु ।
  • हार्डलिङ्क् : सञ्चिकायाः ​​प्रतिलिपिं कुर्वन्तु A सूचकः अन्यसञ्चिकायां B सूचकः B सञ्चिकायाः ​​A सञ्चिकायाः ​​हार्डलिङ्कः अस्ति ।
  • प्रतीकात्मकलिङ्क् (सॉफ्ट लिङ्क्): सञ्चिकायाः ​​अथवा पुटस्य A कृते प्रतीकात्मकं लिङ्कं B रचयन्तु, ततः B A प्रति सूचयति ।
  • शॉर्टकट् : प्रतीकात्मकलिङ्कस्य सदृशं इदं प्रारम्भिकेषु दिनेषु विण्डोजद्वारा समर्थितं लिङ्कविधिः अस्ति यत् इदं न केवलं सूचकः अस्ति, अपितु अनुमतिः, संगतता, स्टार्टअपविधयः इत्यादीनि विविधानि सूचनानि अपि सन्ति शॉर्टकट् विण्डोज-प्रणालीषु अद्वितीयाः सन्ति, तेषां उपयोगः मञ्चेषु न भवति ।

प्रतीकात्मकलिङ्कानां कठिनलिङ्कानां च भेदः

  • हार्डलिङ्क् केवलं सञ्चिकाः लिङ्क् कर्तुं शक्नोति, यदा तु प्रतीकात्मकलिङ्क् सञ्चिकाः निर्देशिका च लिङ्क् कर्तुं शक्नोति ।
  • संयोजनस्य समाप्तेः अनन्तरं हार्डलिङ्कः केवलं सञ्चिकासामग्रीभिः सह सम्बद्धः भवति, पूर्वलिङ्केन सह तस्य किमपि सम्बन्धः नास्ति । प्रतीकात्मकलिङ्काः सर्वदा पूर्वं लिङ्क् कृतसञ्चिकायाः ​​सह सम्बद्धाः भवन्ति, सामग्रीसञ्चिकायाः ​​सह प्रत्यक्षतया सम्बद्धाः न भवन्ति ।