القراء مثلك يساعدون في دعم MUO. عند إجراء عملية شراء باستخدام الروابط الموجودة على موقعنا ، فقد نربح عمولة تابعة. اقرأ أكثر.

يعد مديرو الحزم من أفضل ميزات Node. هناك العديد من الطرق المختلفة لتثبيت وإدارة حزم العقد. هنا ، سنلقي نظرة على إيجابيات وسلبيات استخدام مدير حزم واحد أو استخدام أكثر من مدير حزم واحد ، وبعض أفضل الطرق لاستخدامها معًا.

ما هو مدير الحزم الذي تسأل؟ تابع القراءة لمعرفة ذلك.

من هم مديرو الحزم؟

في عالم تطوير البرمجيات ، التبعيات هي ما تحتاجه لتشغيل مشروعك. إنها مثل المكونات في الوصفة: بدونها ، لا شيء يحدث.

على سبيل المثال ، إذا كنت تكتب تطبيقًا يستخدم JavaScript ، ويريد الوصول إلى بعض الوظائف منه مكتبة تسمى jQuery (التي استخدمتها العديد من مواقع الويب من قبل) ، فسيكون jQuery أحد تبعياتك. ستحتاج إلى تثبيته حتى يتمكن شخص ما عندما يزور موقعك ، من رؤية تلك الرسوم المتحركة الرائعة أو التفاعلات التي أنشأتها به!

يساعد مديرو الحزم في إدارة هذه العلاقات بين المشاريع من خلال إدارة التبعيات بالنسبة لنا ، لذلك لا داعي للقلق بشأن تنزيلها يدويًا بأنفسنا الوقت الذي نريد إضافة أو تحديث شيء جديد - يتأكدون أيضًا من أن كل شيء يعمل معًا بشكل صحيح ويعمل بسلاسة بمجرد تثبيته (وهو قول أسهل أحيانًا من منتهي).

instagram viewer

تأتي العقدة معبأة مسبقًا مع مدير الحزم يسمى NPM

NPM هو مدير الحزم الافتراضي ، وعلى هذا النحو ، فهو مدمج في وقت تشغيل العقدة. يمكنك استخدام NPM لتثبيت الحزم من GitHub أو NPM مباشرة. يمكنك أيضًا نشر الحزم الخاصة بك على هذا الموقع حتى يتمكن الآخرون من تثبيتها باستخدام إصدار NPM الخاص بهم.

لا يتم استخدام NPM فقط لتثبيت الحزم ؛ كما أنه يتعامل مع دقة التبعية وتعارضات الإصدار بين مكتبتين أو أكثر من المكتبات أو الوحدات النمطية المطلوبة في قاعدة رمز التطبيق الخاص بك.

هذا يعني أنه إذا كانت هناك إصدارات متعددة من شيء مثل اكسبريس يعمل على الخادم الخاص بك في أي وقت ، سوف تتأكد NPM من حصول كل مثيل على ما يحتاج إليه دون التعارض معه حالات أخرى تقوم بعمل مماثل - وكل ذلك دون مطالبتك بعمل أي شيء خاص يتجاوز البساطة الاتصال يتطلب() على كائن عند الحاجة!

NPM هي أداة قوية بشكل لا يصدق ، ومن السهل البدء بها. ولكن إذا كنت جديدًا في استخدام Node و JavaScript ، فقد يكون من الصعب معرفة الأدوات المتاحة لاستخدامك - والأدوات الأفضل لمشروع معين.

تكمن المشكلة الرئيسية في NPM في بطء تثبيت الحزم. هذه ليست صفقة كبيرة إذا كنت تقوم بتشغيل نص عرضي أو اثنين فقط ، ولكن يمكن أن يكون بشكل لا يصدق محبطًا إذا كنت تحاول إنشاء تطبيق كامل يستخدم العشرات من المكتبات المختلفة و أدوات.

الغزل و PNPM أسرع من NPM

يعد Yarn بديلاً آمنًا وموثوقًا لـ NPM يستخدم ملف قفل لمنع عمليات الكتابة غير المقصودة ويضمن حل تبعياتك بشكل صحيح عند تثبيت الحزم.

كما أن لديها وقت تثبيت أسرع من NPM ، مما يجعلها مفيدة بشكل خاص إذا كنت تعمل مع مشاريع كبيرة بها العديد من الوحدات النمطية مع الكثير من التبعيات.

يعد PNPM بديلاً لكل من Yarn و NPM ، ولكنه ليس شائعًا حتى الآن لأنه لا يحتوي على بعض الميزات الموجودة في أي منهما (مثل ملفات القفل). ومع ذلك ، يدعي مطوروها أن PNPM يمكنها تثبيت حزم تصل إلى أربع مرات أسرع من Yarn أو NPM بفضل طبيعتها خفيفة الوزن ؛ هذا يعني استخدام أقل لمساحة القرص على جهاز الكمبيوتر الخاص بك أيضًا!

إذا كنت تبني مشروعًا لا يتطلب سوى عدد قليل من التبعيات ، فمن المحتمل أن يكون الغزل أو NPM كافيين. ومع ذلك ، إذا كنت تعمل مع مشاريع كبيرة مع العديد من الوحدات والتبعيات ، فقد يكون PNPM هو الخيار الأفضل لك.

مزايا استخدام مديري حزم متعددين

يمكن لمدير الحزم الواحد التعامل مع إصدار واحد فقط من أي مكتبة معينة في كل مرة. إذا كنت تريد استخدام نسختين مختلفتين من نفس المكتبة لمشاريع أخرى أو في بيئات مختلفة (على سبيل المثال ، الإنتاج مقابل. التطوير) ، فستحتاج حينئذٍ إلى حزمتين منفصلتين مثبتتين على نظامك.

حقوق الصورة: PNPM

يمكن أن يؤدي هذا إلى حدوث تعارضات إذا حاولت كلتا الحزمتين تحديث إصدارهما من نفس التبعية في نفس الوقت. يعني استخدام مديري حزم متعددة أن لديك مزيدًا من التحكم في التبعيات التي تم تثبيتها وأين يساعد في تجنب هذه الأنواع من التعارضات.

فائدة أخرى هي أنه عند استخدام العديد من مديري الحزم ، سيوفر كل واحد مجموعة فريدة من الميزات الخاصة به. قد يكون البعض أسرع من البعض الآخر ؛ قد يتمتع البعض بقدرات أفضل على إدارة التبعية ؛ قد يكون البعض الآخر أكثر ملاءمة لتطوير التطبيقات ضمن أطر عمل معينة مثل ReactJS أو VueJS وما إلى ذلك ...

أخيرًا ، يمكن أن يساعد استخدام العديد من مديري الحزم في تحسين إنتاجية المطور عن طريق تقليل الوقت المستغرق في البحث عن التبعيات وتثبيتها. هذا لأنه سيتم تصميم كل مدير حزم مع وضع مجموعة محددة من حالات الاستخدام في الاعتبار (على سبيل المثال ، السرعة مقابل. الأمن مقابل. إدارة التبعية ، إلخ ...).

استخدم العديد من مديري الحزم عن طريق تثبيتها عالميًا

باستخدام سطر الأوامر ، يمكنك تحديد مدير الحزم الذي تريد استخدامه لمشروع معين. قم بإعداد مديري حزم متعددة على جهازك:

  • تأتي NPM معبأة مسبقًا مع Node. سيسمح لك ذلك بتثبيت حزم أخرى (ومديري الحزم) من سطر الأوامر وإدارة التبعيات عبر جميع مشاريعك باستخدام NPM. من المفيد أيضًا إذا كنت تريد تشغيل نصوص NPM في متصفح (على سبيل المثال ، Webpack) ، لأن المتصفحات لا تأتي مع NPM مثبتة مسبقًا!
  • قم بتثبيت Yarn عالميًا باستخدام NPM. هذا خيار شائع آخر لإدارة التبعيات في مشاريع JavaScript ؛ لديها بعض المزايا على NPM التي قد تجعلها مفضلة لأنواع معينة من المشاريع أو الفرق
  • أخيرًا ، قم بتثبيت PNPM. مدير الحزم هذا عبارة عن مفترق لـ NPM تم تصميمه ليكون أسرع وأكثر استقرارًا. يحتوي أيضًا على بعض الميزات الإضافية التي قد تكون مفيدة لبعض أنواع المشاريع ، مثل دعم التبعيات من GitHub.

لاحظ أن التثبيت العام يعني أن الحزمة المحددة ستكون متاحة لنظامك بالكامل (يمكنك الوصول إلى ملفات البرنامج في أي مكان عبر سطر الأوامر) ، بينما لا يمكن الوصول إلى التثبيت المحلي إلا من خلال العمل الحالي الدليل.

أمثلة من العالم الحقيقي لكيفية استخدام مديري حزم متعددين

تحقق من هذه الاستخدامات:

1. يمكن استخدام الغزل و NPM معًا (على سبيل المثال إنشاء رد فعل التطبيق)

يكون هذا مفيدًا عندما تريد الاستفادة من سرعة وكفاءة الغزل مع الاستمرار في التوافق مع حزم NPM. إذا كنت بحاجة إلى أحدث إصدار من مكتبة لم يتم تحديثه للتوافق مع Yarn حتى الآن ، أو إذا كان هناك سبب آخر لماذا يفضل فريقك التمسك بـ NPM على الرغم من سرعته البطيئة أو مجموعة الميزات المحدودة ، فقد يعمل هذا بشكل جيد بالنسبة لك مشروع. كما أنه يساعد في تجنب وجود شجرتين منفصلتين في التبعية في إعداد الريبو الأحادي الخاص بك!

2. استخدام الغزل للحزم العالمية و PNPM للتركيبات المحلية

في حين أن PNPM هو أسرع مدير للحزم ، فقد يكون من الصعب استخدامه للحزم المثبتة عالميًا. هذا لأنه يستخدم بنية ملف مختلفة يمكن أن تسبب مشاكل في التوافق مع برامج مثل Visual Studio Code. هذا هو المكان الذي يأتي فيه الغزل. يمكنك استخدامه للحزم المثبتة عالميًا ، و PNPM للتثبيتات المحلية. يعد هذا الحل طريقة جيدة للحصول على مزايا مديري الحزم دون الحاجة إلى تغيير سير عملك كثيرًا. مع هذا الإعداد - إذا كنت تريد أن تصبح جامحًا - يمكنك إزالة NPM من نظامك تمامًا (ولكن من الجيد دائمًا أن يكون لديك NPM كنسخة احتياطية).

3. استخدام PNPM مع NPM كإجراء احتياطي

يعد هذا خيارًا جيدًا يجب مراعاته في حالة رغبتك في استخدام PNPM ، ولكن لا تريد أن يتعلم جميع مطوريك أداة جديدة حتى الآن. يسمح لهم بمواصلة العمل مع NPM حتى يشعروا بالراحة مع PNPM ويحتاجون إليه في عملهم.

استخدام مديري حزم متعددين يجعل الأمور أسهل

يمكنك استخدام مديري حزم متعددة. يمكنك تثبيتها عالميًا أو محليًا ، وإذا كنت تريد تحديد مدير الحزم الذي يجب استخدامه لمشروع معين ، فما عليك سوى استخدام سطر الأوامر!

إذا كنت ترغب في تثبيت العديد من مديري الحزم على نظامك ، فتأكد من أنك تستخدم نفس الإصدار من Node.js.

في الختام ، نعتقد أنه يجب عليك استخدام أكثر من مدير حزم. إنها طريقة رائعة لبدء استخدام Node وتعلم أيضًا بعض الأدوات الجديدة إذا كنت معتادًا بالفعل على NPM. إذا لم يكن لديك Node مثبتًا بالفعل ، فسيكون الإعداد سهلاً على Windows.