إذا كنت تعمل مع Node.js، فمن المحتمل أنك واجهت كلاً من npm وnpx.
على الرغم من أنهما يبدوان متشابهين وكلاهما جزء لا يتجزأ من النظام البيئي Node.js، إلا أنهما يخدمان أغراضًا مختلفة. ستستكشف هذه المقالة الاختلافات بين npm وnpx، مما يساعدك على فهم متى ولماذا تستخدم كل منهما.
NPM، اختصار لـ Node Package Manager، هو مدير الحزم الافتراضي لـ Node.js. يسمح للمطورين بتثبيت ومشاركة وإدارة الحزم (المكتبات أو وحدات التعليمات البرمجية) في مشاريعهم.
إليك بعض المهام الشائعة التي يساعد فيها npm:
npm install
إدارة إصدارات الحزمة: تأمين إصدارات محددة من المكتبات لضمان بنيات متسقة.
تشغيل البرامج النصية الخاصة بالمشروع: محددة في ملف package.json.
npm run
npx هي أداة تم تقديمها في الإصدار 5.2.0 من NPM (يوليو 2017). بينما يدير npm التبعيات والحزم، تم تصميم npx لتنفيذ حزم Node.js، وخاصة أدوات CLI، دون تثبيتها عالميًا.
1. تثبيت الحزمة مقابل التنفيذ
npm install -g create-react-app create-react-app my-app
npx create-react-app my-app
يوفر هذا الوقت ومساحة القرص حيث تتجنب تثبيت الحزم التي قد تستخدمها مرة واحدة فقط.
2. الباقات العالمية
عند استخدام npm، يتم تثبيت الحزم العامة وتستمر عبر نظامك، مما قد يؤدي في بعض الأحيان إلى فوضى في بيئتك.
باستخدام npx، يمكنك تنفيذ الحزمة دون القلق بشأن الاحتفاظ بها على نظامك بشكل دائم.
مثال على تثبيت حزمة عالميًا باستخدام npm:
npm install -g typescript tsc --version
مع npx، لا يلزم التثبيت العام:
npx tsc --version
3. التعامل التلقائي مع الطرود
عند تشغيل أمر باستخدام npx، فإنه يتحقق تلقائيًا مما إذا كانت الحزمة موجودة محليًا أو عالميًا، وإذا لم تكن موجودة، فسيتم تنزيلها وتنفيذها مؤقتًا. وهذا مفيد بشكل خاص لتشغيل المهام لمرة واحدة.
على سبيل المثال:
npx cowsay "Hello, World!"
سيؤدي هذا إلى تنزيل حزمة Cowsay إذا لم تكن مثبتة، وتشغيلها، ثم تنظيفها بعد ذلك.
4. حزمة الملفات التنفيذية بدون نصوص
عند تشغيل أمر محدد في البرامج النصية package.json باستخدام npm، ستكتب:
npm run my-script
ولكن باستخدام npx، يمكنك تشغيل الأوامر القابلة للتنفيذ مباشرة:
npx my-script
هذا مفيد بشكل خاص إذا لم يتم تعريف البرنامج النصي بشكل صريح في package.json.
- إدارة التبعيات: استخدم npm لتثبيت تبعيات المشروع وتحديثها وإزالتها.
- تشغيل البرامج النصية الخاصة بالمشروع: محددة في package.json ومصممة خصيصًا لمشروعك.
- إدارة إصدارات الحزمة: تأمين إصدارات محددة من المكتبات للحفاظ على اتساق المشروع.
- تنفيذ الحزمة لمرة واحدة: استخدم npx للحزم التي لا ترغب في تثبيتها عالميًا، مثل أدوات CLI التي ستستخدمها مرة واحدة فقط.
- تشغيل الملفات التنفيذية: بالنسبة لأوامر مثل create-react-app، يتيح لك npx تشغيلها دون تثبيت عام.
- اختبار إصدارات مختلفة: تنفيذ إصدار محدد من الأداة بسرعة دون الحاجة إلى تثبيتها.
أخيرًا، تعد كل من npm وnpx أدوات أساسية في النظام البيئي Node.js، لكنهما يخدمان أغراضًا مختلفة. استخدم npm لإدارة تبعيات مشروعك وnpx لتنفيذ الحزم دون التثبيت الدائم.
هذا التمييز البسيط يمكن أن يجعل سير عملك أكثر كفاءة، مما يوفر الوقت ويتجنب عمليات التثبيت العالمية غير الضرورية.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3