اذهب إلى المحتوى
  • 0

إزالة الحزم الغير موجودة ضمن ملف package.json في node.js

Bassel Jhr

السؤال

عندما أقوم بتحميل بعض الحزم من خلال npm ضمن مشروع node.js ألاحظ وجودها ضمن الملف package.json، وأقوم بإزالتها بشكل يدوي من الملف ولكن أعتقد بأن ملفات هذه الحزم تبقى ضمن المجلّد node_modules.

كيف يمكنني إزالة ملفات هذه الحزم الآن الغير موجودة ضمن الملف package.json؟ أعلم بأنه يمكنني إزالتها بشكل يدوي من المجلّد ولكن أبحث عن طريقة تقوم بإزالة جميع هذه الملفات بشكل اوتوماتيكي

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

يمكنك استخدام الامر التالي

npm prune

يزيل هذا الأمر الحزم الدخيلة أو التي لم تعد موجودة, إذا تم توفير اسم الحزمة ، فسيتم إزالة الحزم المطابقة لأحد الأسماء فقط كالتالي

npm prune [<name> [<name ...]]

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

في حال وجود ملف package-lock.json في مشروعك فإن أمر تنصيب الحزم سيقوم تلقائيا بإزالة الحزم الغير المذكورة في package.json

npm install

 أي يمكنك اتباع الخطوات التالية لإزالة الحزم الغير مرغوبة

  1. إزالة الحزم يدويا من ملف package.json
  2. تنفيذ الأمر npm install

أو يمكنك مباشرة إزالة حزمة معينة عبر الأمر التالي حيث سيقوم بحذف ذكرها في ملف package.json ومن ثم حذف ملفات الحزمة من node_modules

npm uninstall <package>

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

يمكنك إزالة node_modules ثم إعادة تثبيت التبعيات من package.json.

rm -rf node_modules/
npm install

سيؤدي ذلك إلى مسح جميع الحزم المثبتة في المجلد الحالي وتثبيت التبعيات من package.json فقط. وفي حال تم تثبيت التبعيات مسبقاً، فسيحاول npm استخدام الإصدار المخزَن مؤقتاً ، وتجنب تنزيل التبعية مرة ثانية.
كذلك يمكننا استخدام :

npm prune [[<@scope>/]<pkg>...] [--production] [--dry-run] [--json]

يزيل هذا الأمر حزم ال  "extraneous" (أي الحزم الموجودة في مجلد node_modules التي لم يتم إدراجها ضمن قائمة تبعية لأي حزمة.).
إذا تم توفير اسم حزمة ، فلن تتم إزالة سوى الحزم المطابقة لأحد الأسماء المقدمة.  وإذا تم تحديد production-- أو تم تعيين متغير البيئة NODE_ENV على production، فسيؤدي هذا الأمر إلى إزالة الحزم المحددة في devDependencies. أما  no-production-- فهو نفي تعيين NODE_ENV على production. وإذا تم استخدام --dry-run فلن يتم إجراء أي تغييرات فعليَاً.
إذا تم استخدام --json ، فستتم طباعة التغييرات npm prune (أو التي تم إجراؤها باستخدام --dry-run) ككائن JSON.

تم التعديل في بواسطة Ali Haidar Ahmad
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...