الآخر

Cheat Sheet: لو المشكلة… فكّر في…

enable · packageManager · devEngines · use · install
🎯 الهدف: تفتكر أمر التفعيل والتثبيت والرفض من غير ما ترجع للفصول.
Node ولا pnpm؟Node يشغّل JavaScript. pnpm يدير dependencies
Corepack ولا pnpm؟Corepack launcher يجيب المدير. pnpm يثبّت الحزم
الـ lockfile كفاية؟لأ: ثبّت manager version واستخدم frozen install
نفس الحزم وnpm مختلفممكن يغيّر lockfile format والـ peers والـ layout
npm وYarn وpnpm واحد؟لأ: resolver وlockfile وinstallation model مختلفين
أكتر من lockfileاختار المدير الرسمي واحذف الباقي بعد مراجعة الفريق
الأمر مش لاقي Corepackثبّته صراحةً؛ وده مطلوب من Node ٢٥
تثبيت راجعناه هناnpm install -g corepack@0.36.0
فعّل الوسائطcorepack enable
مين يشغّل pnpm؟الـ shell يشغّل أول pnpm في PATH
افحص المسارcommand -v pnpm أو where pnpm
npm لسه يعدّيcorepack enable npm
اقفل الوسائطcorepack disable
اكتب النسخة في المشروعcorepack use pnpm@10.15.0
آخر إصدار في نفس الخطcorepack up
قفزة خط كبيرcorepack use pnpm@11 أو pnpm@latest
حمّل من غير ما تغيّر الحقلcorepack install
شكل الحقلpnpm@10.15.0 من غير ^ أو ~
البصمة بعد النسخةcorepack use يولّد integrity hash؛ متكتبهوش بإيدك
Yarn في مشروع pnpmيرفض. المشروع متظبط على pnpm
كل المشاريع بترفض فجأةpackage.json في فولدر أعلى، غالبًا الهوم
شرط الاسم والنسخةdevEngines.packageManager و onFail
اختلاف يوقفonFail فاضي أو error
اختلاف يكملwarn أو ignore
الحقلين مختلفينCorepack يرفض لحد ما يتفقوا
عطّلت الرفض محلیًاCOREPACK_ENABLE_STRICT=0، مش في CI
باب npm من غير shimpreinstall مع only-allow
زميل معندوش Corepackinstall ثم enable؛ packageManager مش بيثبّته سحريًا
CIثبّت Corepack، enable، install، ثم pnpm install --frozen-lockfile
مدى في packageManagerغلط. النسخة ثابتة بس
هل الإجبار security؟لأ؛ workflow guard يعتمد على مرور الأمر عبر الـ shim

خلّصت المذكرة لما

🧠 اختبر نفسك
١) سطر packageManager الصحيح لـ pnpm ١٠٫١٥٫٠؟
pnpm@10.15.0
٢) enable لوحده قفل npm؟
لأ. محتاج corepack enable npm.
٣) أول أوامر CI على Node ٢٢؟
corepack enable وبعدين corepack install وبعدين تثبيت بالقفل المتجمد.