0 محمد أبو عواد نشر 16 ديسمبر 2021 أرسل تقرير نشر 16 ديسمبر 2021 npm و pnpm كلاهما مديرا حزم لـ Node.js , يعتبر pnpm أكثر سرعة وفعالية من npm في تثبيت الحزم ومعالجتها والتعامل معها , عندما تقوم بتثبيت حزمة باستخدام PNPM ، سيتم تخزينها على مستوى بيئة الحاسوب بشكل كامل بحيث اذا اردت استخدام حزمة ما في أي مشروع سيقوم PNPM بإنشاء ارتباط مع النسخة بدلا من نسخها وهذا يعتبر بديلا أسرع وفعالا أكثر من npm للتعامل مع الحزم , يمكنك ثبيت pnpm من خلال الأمر npm install -g pnpm 2 اقتباس
3 سامح أشرف نشر 16 ديسمبر 2021 أرسل تقرير نشر 16 ديسمبر 2021 كلًا من NPM و PNPM يقوم بإدارة وتحميل الحزم الخاصة بـ Node.js ولكن بطرق مختلفة، فبداية من الإصدار 3 في NPM أصبح يتم تحميل الحزم وتخزينها في مجلد node_modules على شكل flattened dependency tree أي أن كل حزمة يكون لها مجلد خاص بها منفصل عن باقي الحزم بالكامل، وبالتالي يمكن لأكثر من مكتبة أن تستعمل نفس الحزمة بدون الحاجة لتحميل الحزمة مرتين (مرة لكل مكتبة) في المشروع الواحد، وبالتالي هذا الأمر يوفر في المساحة المستخدمه لتخزين الحزم والمكتبات في المشروع، ولكن بالنسبة لمشروع آخر فيجب أن يتم تحميل الحزم مرة أخرى وتخزينها في مجلد node_modules جديد خاص بالمشروع الثاني، وهذا الأمر يسبب في بطء عملية تحميل وتثبيت الحزم وخصوصًا إن كنت تعمل على مشاريع متعددة. على الجانب الآخر يستعمل PNPM طريقة مختلفة لتثبيت الحزم، حيث يتم تثبيت الحزم والمكتبات في مكان عام (على القرص C على سبيل المثال) ثم يتم عمل إختصار (hard linking and symbolic linking) لمجلد الحزمة في مجلد node_modules الخاص بالمشروع، وبالتالي لا يتم تحميل وتثبيت الحزمة إلا مرة واحدة ثم يتم إستعمالها في كل المشاريع المختلفة بدون مشكلة. هنا مثال لكيف سيبدو مجلد node_modules في حالة تم إستعمال PNPM، حيث ستجد أن المجلد الخاص بكل حزمة يشير إلى مجلد بنفس الاسم ولكن في مكان مختلف (داخل مجلد التثبيت العام والذي يشار إليه في الشكل التالي بـ <store>): node_modules └── .pnpm ├── bar@1.0.0 │ └── node_modules │ └── bar -> <store>/bar │ ├── index.js │ └── package.json └── foo@1.0.0 └── node_modules └── foo -> <store>/foo ├── index.js └── package.json يمكنك تثبيت PNPM من خلال الأمر التالي: npm install -g pnpm ويمكنك أن تستخدمه لتثبيت الحزم أو حذفها أو تحديثها من خلال الأوامر: pnpm add <pkg> pnpm remove <pkg> pnpm up <pkg> 5 اقتباس
السؤال
Salah Kr
ما الفرق بين npm و pnpm ?
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.