NPM
اسم · مدير حزم
مدير الحزم الرسمي لـNode.js وأكبر سجل برمجيات مفتوحة المصدر في العالم — يستضيف أكثر من 2 مليون حزمة JavaScript تتيح للمطورين مشاركة وإعادة استخدام وتوزيع الكود بطريقة معيارية ومُرقَّمة.
أداة سطر أوامر (CLI) مرفقة مع كل تثبيت لـ Node.js تؤتمت تثبيت وتحديث وإدارة تبعيات مشروع JavaScript — تضمن قابلية تكرار البناء بفضل ملف `package-lock.json` والحل الحتمي للإصدارات.
نظام بيئي متكامل يضم سجلًا عامًا (npmjs.com) وعميل CLI وميزات إدارة المؤسسات — أصبح حجر الزاوية لتطوير الويب الحديث بتوفير بنية التوزيع لـ React وNext.js وExpress.js وشبه جميع مكتبات JavaScript الاحترافية.
NPM (Node Package Manager) يخدم إدارة تبعيات مشروع JavaScript بأتمتة تثبيت وتحديث وحذف المكتبات الخارجية. يتيح للمطورين إعادة استخدام كود مفتوح المصدر مُجرَّب بدلًا من إعادة كتابة كل شيء، مما يسرّع دورات التطوير بشكل كبير. يُستخدم NPM أيضًا لتنفيذ سكريبتات البناء والاختبار والنشر المعرّفة في ملف `package.json`. إنه الأداة الأساسية لكل مشروع ويب حديث نستخدمها يوميًا في Async Code.
NPM هو مدير الحزم الافتراضي لـ Node.js، يتكون من سجل عبر الإنترنت (npmjs.com) يحتوي على أكثر من 2 مليون حزمة وأداة سطر أوامر. عمله بسيط: عند تنفيذ `npm install`، يقرأ CLI ملف `package.json` لمشروعك، ويحل شجرة التبعيات، ويحمّل الحزم من السجل ويثبتها في مجلد `node_modules`. يضمن ملف `package-lock.json` أن كل عضو في الفريق وكل بيئة يستخدمون نفس الإصدارات بالضبط.
الأمر `npm install -g` يثبت حزمة بشكل عام على نظامك، مما يجعلها متاحة من أي مجلد عبر سطر الأوامر. على عكس التثبيت المحلي (بدون علم `-g`) الذي يضع الحزمة في مجلد `node_modules` للمشروع الحالي، يُخصص التثبيت العام لأدوات CLI مثل `typescript` و`nodemon` و`create-next-app`. عمليًا، ننصح بتقليل التثبيتات العامة وتفضيل `npx` لتنفيذ الأدوات عرضيًا دون تلويث بيئة النظام.
Node.js هو بيئة تنفيذ JavaScript من جانب الخادم، مبنية على محرك V8 من Chrome، تتيح تشغيل JavaScript خارج المتصفح. NPM هو مدير الحزم المرفق مع Node.js، المسؤول عن إدارة المكتبات والتبعيات لمشاريعك. باختصار: Node.js ينفذ الكود، NPM يدير وحدات الكود. الاثنان متكاملان ولا ينفصلان في تطوير الويب الحديث — تثبيت Node.js يثبت NPM تلقائيًا.
يخدم NPM مركزة وأتمتة إدارة جميع تبعيات مشروع JavaScript. يتيح تثبيت أطر عمل مثل React أو Next.js بأمر واحد، والحفاظ على التوافق بين إصدارات المكتبات ومشاركة وحداتك الخاصة مع المجتمع. يدير NPM أيضًا سكريبتات التطوير (بناء، اختبار، فحص، نشر) المعرّفة في `package.json`، مما يجعله قائد أوركسترا لأي سير عمل تطوير احترافي. تعتمد وكالتنا على NPM لضمان بناءات قابلة للتكرار وعمليات نشر موثوقة.
نعم، الأمر `npm install` (أو اختصاره `npm i`) يُطلق تحميل وتثبيت جميع التبعيات المدرجة في ملف `package.json` لمشروعك. ينشئ مجلد `node_modules` المحتوي على الحزم ويولّد ملف `package-lock.json` لقفل الإصدارات. يمكنك أيضًا تثبيت حزمة محددة بـ `npm install nom-du-package`. عادة ما يكون هذا أول أمر يُنفَّذ بعد استنساخ مشروع لتحضير بيئة التطوير.
لتثبيت NPM على Windows، حمّل مثبت Node.js من الموقع الرسمي nodejs.org — يُضمَّن NPM تلقائيًا في كل تثبيت لـ Node.js. شغّل المثبت `.msi`، اتبع خطوات المعالج وحدد خيار الإضافة إلى PATH النظام. بعد التثبيت، افتح طرفية (PowerShell أو CMD) وتحقق بـ `node -v` و`npm -v`. للمطورين المحترفين، ننصح باستخدام NVM for Windows (Node Version Manager) للتبديل بسهولة بين إصدارات Node.js المختلفة حسب المشاريع.
NPM في سطر الأوامر (الطرفية) هو واجهة سطر الأوامر (CLI) التي تتيح التفاعل مع سجل NPM وإدارة تبعيات مشاريعك. الأوامر الرئيسية هي: `npm init` (إنشاء مشروع)، `npm install` (تثبيت التبعيات)، `npm run` (تنفيذ سكريبتات)، `npm update` (تحديث الحزم) و`npm publish` (نشر حزمة). إنها أداة يستخدمها كل مطور JavaScript يوميًا لإدارة دورة الحياة الكاملة لمشاريعه.
لا، NPM و Node.js أداتان مختلفتان لكنهما متكاملتان. Node.js هو بيئة التنفيذ التي تتيح تشغيل كود JavaScript على خادم أو جهاز محلي. NPM هو مدير الحزم الذي يدير المكتبات والوحدات اللازمة لمشاريعك. يُوزَّع NPM مع Node.js — تثبيت أحدهما يثبت الآخر تلقائيًا — لكنهما يؤديان وظائف مختلفة. إنه مثل الفرق بين المحرك (Node.js) ومستودع قطع الغيار (NPM).
يؤدي NPM أربع وظائف أساسية في تطوير JavaScript: يثبت ويدير تبعيات مشاريعك، وينفذ سكريبتات مؤتمتة (بناء، اختبار، نشر)، ويدير الترقيم الدلالي للإصدارات لضمان التوافق بين الحزم، ويوفر سجلًا مركزيًا لنشر ومشاركة كود مفتوح المصدر. بدون NPM، سيضطر كل مطور لتحميل وتكوين وتحديث كل مكتبة يدويًا. في Async Code، يشكل NPM ركيزة سلسلة التطوير والـ CI/CD ونشر جميع تطبيقات Next.js الخاصة بنا.