npm اختصار في الأصل لـ ( Node Package Manager ) وهو مدير حزم (packages) للغة JavaScript.

npm هى أكبر مكتبة برمجيات في العالم [ (Software Library (Registry ].

يستخدم مطورو البرامج مفتوحة المصدر(open source) من كل قارة npm لمشاركة واستعارة الحزم ، وتستخدم العديد من المؤسسات npm لإدارة التطوير الخاص أيضًا.

 

💡 يتكون npm من جزأين رئيسيين:

  1. أداة CLI (واجهة سطر الأوامر command-line interface) لنشر الحزم وتنزيلها.
  2. مستودع على الإنترنت يستضيف حزم JavaScript.

 


 

استخدام npm مجاني

 

يمكنك تنزيل جميع حزم البرامج العامة لـ npm مجانًا للإستخدام دون أي تسجيل دخول.

 


 

تثبيت npm

 

يُثبت الـ npm مع Node.js، هذا يعني أنه يجب عليك تثبيت Node.js لتثبيت npm على جهاز الكمبيوتر الخاص بك.

تقدر تنزل Node.js من الموقع الرسمي هذا: https://nodejs.org

 


 

إستخدامات الـ npm

 

أهم إستخدامات الـ npm:-

  • إدارة التبعيات (dependencies) للتعليمات البرمجية.
  • تظبيط حزم التعليمات البرمجية لتطبيقاتك ، أو دمج الحزم كما هي.
  • تنزيل الأدوات المستقلة التي يمكنك استخدامها على الفور.
  • تشغيل الحزم دون تنزيل باستخدام npx.
  • مشاركة الكود مع أي مستخدم npm في أي مكان، إذا كنت ترغب في مشاركة البرنامج الخاص بك في npm registry ، فيمكنك تسجيل الدخول على: https://www.npmjs.com.
  • تقييد التعليمات البرمجية على مطورين معينين.
  • إنشاء مؤسسات لتنسيق صيانة الحزمة والترميز والمطورين.
  • تشكيل فرق افتراضية باستخدام المؤسسات.
  • تحديث التطبيقات بسهولة عند تحديث الكود الأساسي.
  • اكتشاف طرقًا متعددة لحل نفس اللغز.
  • البحث عن مطورين آخرين يعملون على مشاكل ومشاريع مماثلة.

 

إدارة التبعيات (الـ dependencies )

 

يمكن لـ npm إدارة الحزم التي تعد تبعيات محلية (local dependencies) لمشروع معين ، بالإضافة إلى أدوات JavaScript المثبتة. 

جميع تبعيات المشروع موجوده فى ملف package.json.

{
  "name": "my_project",
  "version": "2.0.0",
  "description": "This is test project",
  "main": "project.js",
  "author": "Hamed Esam",
  "license": "ISC"
}

 

في ملف package.json ، يمكن لكل تبعية تحديد نطاق من الإصدارات الصالحة باستخدام نظام الإصدار الدلالي ، مما يسمح للمطورين بتحديث حزمهم تلقائيًا مع تجنب كسر التغييرات غير المرغوب فيها في نفس الوقت.

يوفر npm أيضًا أدوات تعديل الإصدارات للمطورين لتمييز حزمهم بإصدار معين. 

يوفر npm أيضًا ملف package-lock.json الذي يحتوي على إدخال الإصدار الدقيق المستخدم من قبل المشروع بعد تقييم الإصدار الدلالي في package.json.