إصلاح · Node وnpm والبناء
فشل npm ci: package.json وpackage-lock.json غير متزامنين
ما قد تراه
- يفشل البناء على الاستضافة عند التثبيت برسالة عن ملف القفل
- عدّلت package.json يدوياً
السبب الأرجح
يذكر package.json حزماً لا يعرفها package-lock.json (أو العكس) لأن أحدهما تغيّر دون الآخر.
افحص أولاً (نحو دقيقتين)
- شغّل git status: هل تغيّر package-lock.json ولم يُحفظ بـ commit؟
أمر الإصلاح
ما تكتبه هنا لا يغادر متصفحك. البحث يعمل داخل هذه الصفحة ولا يُرسل شيء إلى خادم ولا إلى ذكاء اصطناعي.
يبقى في هذا المتصفح وعلى هذا الجهاز فقط. تُحذف المفاتيح وكلمات المرور قبل أي حفظ.
لغة الأمر
الصقه في Claude أو ChatGPT أو Gemini أو Cursor ثم اتبع ما يقوله.
بعد أن جرّبته، هل نجح؟
الخطوات
- شغّل npm install محلياً لتحديث ملف القفل ثم اعرض git diff --stat للملفين.
- تحقق أن الحزم المتوقعة فقط تغيّرت واعمل commit للملفين معاً وادفع.
- تأكد أن الاستضافة تستخدم مدير الحزم نفسه الذي يخص ملف القفل.
لا تفعل هذا
- لا تحفظ أحد الملفين فقط بـ commit.
- لا تحذف ملف القفل "لإصلاحه".