संकुलप्रबन्धकाः - npm, yarn, cnpm, pnpm इत्यस्य तुलना
2024-07-12
한어 Русский язык English Français Indonesian Sanskrit 日本語 Deutsch Português Ελληνικά español Italiano Suomalainen Latina
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 प्रति सूचयति । शॉर्टकट् : प्रतीकात्मकलिङ्कस्य सदृशं इदं प्रारम्भिकेषु दिनेषु विण्डोजद्वारा समर्थितं लिङ्कविधिः अस्ति यत् इदं न केवलं सूचकः अस्ति, अपितु अनुमतिः, संगतता, स्टार्टअपविधयः इत्यादीनि विविधानि सूचनानि अपि सन्ति शॉर्टकट् विण्डोज-प्रणालीषु अद्वितीयाः सन्ति, तेषां उपयोगः मञ्चेषु न भवति ।
प्रतीकात्मकलिङ्कानां कठिनलिङ्कानां च भेदः :
हार्डलिङ्क् केवलं सञ्चिकाः लिङ्क् कर्तुं शक्नोति, यदा तु प्रतीकात्मकलिङ्क् सञ्चिकाः निर्देशिका च लिङ्क् कर्तुं शक्नोति । संयोजनस्य समाप्तेः अनन्तरं हार्डलिङ्कः केवलं सञ्चिकासामग्रीभिः सह सम्बद्धः भवति, पूर्वलिङ्केन सह तस्य किमपि सम्बन्धः नास्ति । प्रतीकात्मकलिङ्काः सर्वदा पूर्वं लिङ्क् कृतसञ्चिकायाः सह सम्बद्धाः भवन्ति, सामग्रीसञ्चिकायाः सह प्रत्यक्षतया सम्बद्धाः न भवन्ति ।