حل المشكلات
الأخطاء التي قد تصادفها أثناء تثبيت لوحة التحكم أو بنائها أو تسجيل الدخول إليها أو تعديلها، وسبب كل خطأ وكيفية إصلاحه.
Docker لا يعمل
failed to connect to the docker API at unix:///…/docker.sock; check if the path is correct and if the daemon is runningتعرض إصدارات Docker الأقدم الرسالة "Cannot connect to the Docker daemon" بدلًا من ذلك. وفي الحالتين، محرك Docker غير مُشغَّل.
افتح Docker Desktop
شغّل Docker Desktop وانتظر حتى يُظهر أن المحرك يعمل. على Linux، شغّل الخدمة:
sudo systemctl start docker.تحقق من أن Docker يستجيب
الطرفيةdocker infoالنتيجة المتوقعة: يطبع قسم Server بدلًا من رسالة خطأ.
شغّل أمرك مجددًا
docker build -t financial-dashboard .، ثمdocker run -p 3030:3030 financial-dashboard.
المنفذ مستخدم بالفعل
Bind for 0.0.0.0:3030 failed: port is already allocated
ports are not available: exposing port TCP 0.0.0.0:3030 … bind: address already in use
Error: listen EADDRINUSE: address already in use :::3030السطران الأولان من Docker، والأخير من yarn dev أو yarn start. هناك برنامج آخر يستمع بالفعل على المنفذ 3030: غالبًا تشغيل سابق للوحة التحكم هذه، أو خادم مشروع آخر.
اعرف ما الذي يشغل المنفذ
على macOS أو Linux:
الطرفيةlsof -i :3030على Windows، في PowerShell:
الطرفيةnetstat -ano | findstr :3030أوقفه
أغلق ذلك البرنامج، أو أوقف التشغيل السابق: Ctrl+C في طرفيته، أو
docker stopمع معرّف الحاوية منdocker ps. ثم شغّل لوحة التحكم من جديد.أو استخدم منفذًا آخر
أبقِ البرنامج الآخر وشغّل لوحة التحكم على منفذ متاح، هنا
3041:طريقة التشغيل الأمر Docker docker run -p 3041:3030 financial-dashboardخادم التطوير yarn dev -p 3041بناء الإنتاج yarn start -p 3041مع Docker، غيّر فقط الرقم الذي على يسار
-p: فالتطبيق داخل الحاوية يستمع دائمًا على3030.النتيجة المتوقعة: تستجيب لوحة التحكم على localhost:3041محلي.
فشل البناء
يتوقف docker build بالرسالة "failed to solve" مع الخطوة التي فشلت؛ ويتوقف yarn build مع الخطأ نفسه. الأسباب المعتادة:
- لا يوجد اتصال أو انتهت المهلة: ينزّل البناء الاعتماديات، وخطَّي Inter و Noto Sans Arabic من Google Fonts. رسالة مثل "Failed to fetch
Interfrom Google Fonts." تعني أن البناء لم يصل إليها. أعد تشغيل الأمر بعد أن تتصل بالإنترنت؛ ومع Docker تُحفظ الخطوات المنتهية في الذاكرة المؤقتة. - لا توجد مساحة كافية على الجهاز (No space left on device): حرّر مساحة في Docker Desktop، أو تحقق مما يستخدمه Docker بالأمر
docker system df. - يفشل عند الخطوة نفسها في كل مرة: أعد البناء من دون ذاكرة التخزين المؤقت.
dashboard-template-1docker build --no-cache -t financial-dashboard .من دون Docker، احذف المجلدين node_modules و.next، ثم شغّل yarn install وyarn build مجددًا.
يقول Yarn إن إصداره 1.22
This project's package.json defines "packageManager": "yarn@4.12.0". However the current global version of Yarn is 1.22…يثبّت المشروع Yarn 4 عبر Corepack. تعني هذه الرسالة أن Corepack لم يُفعَّل بعد، فأجاب Yarn عام قديم بدلًا منه.
corepack enableثم شغّل yarn install من جديد. استخدم Yarn بدل npm، فالملف yarn.lock هو ما يُبقي تثبيتك على الإصدارات التي اختُبر بها القالب.
لا يوجد أمر corepack
corepack: command not foundلم يعد Node.js 25 وما بعده يتضمن Corepack. ثبّته مرة واحدة بـ npm، ثم فعّله:
npm install -g corepack
corepack enableثم شغّل yarn install من جديد. الأمران نفسهما يصلحان yarn: command not found.
إصدار Node.js قديم
You are using Node.js 18.20.4. For Next.js, Node.js version ">=20.9.0" is required.يحتاج Next.js 16 إلى Node.js 20.9 أو أحدث. اعرف إصدارك بالأمر node -v. ثبّت Node.js 22 أو 24، وافتح طرفية جديدة، وشغّل corepack enable من جديد، ثم yarn install وyarn dev.
مع Docker لا ينطبق هذا، فالصورة تأتي بـ Node.js 24 الخاص بها.
يُرفض تسجيل الدخول
The email or password is incorrect.تقبل لوحة التحكم حسابًا واحدًا فقط. اكتب بيانات تسجيل الدخول كما هي تمامًا: كلمة المرور حساسة لحالة الأحرف. راجع دليل التثبيت.
الرسالة "Please enter a valid email address" أو "Password must be at least 6 characters" تحت حقل تعني أن النموذج توقف قبل فحص الحساب: أصلح ذلك الحقل أولًا.
تعيدني لوحة التحكم إلى صفحة تسجيل الدخول
كل صفحة ضمن /dashboard تحتاج إلى مستخدم مسجَّل الدخول، ويُحوَّل أي شخص آخر إلى /login. يُبقيك تسجيل الدخول المؤقت مسجَّلًا في هذا المتصفح فقط، لذلك تسجّل الدخول من جديد في نافذة خاصة، أو في متصفح آخر، أو بعد مسح بيانات الموقع، أو بعد تسجيل الخروج في قائمة المستخدم أو تسجيل الخروج في الإعدادات.
تغيير الإعداد لا يُحدث أي أثر
تُترجَم NEXT_PUBLIC_DEMO_MODE وبقية قيم NEXT_PUBLIC_ إلى التطبيق عند بنائه. تغيير إحداها لا يغيّر شيئًا حتى يُبنى التطبيق من جديد.
| طريقة التشغيل | بعد تغيير قيمة |
|---|---|
yarn dev | غيّره في .env.local، وأوقف الخادم، ثم شغّل yarn dev مجددًا. |
yarn build وyarn start | غيّره في .env.local، وشغّل yarn build مجددًا، ثم yarn start. |
| Docker | ابنِ الصورة مجددًا مع القيمة كوسيط --build-arg. يتجاهل بناء الصورة .env و.env.local. |
| Vercel | غيّره في Environment Variables الخاصة بالمشروع وانشر مجددًا. |
يفشل yarn start أو يعرض نسخة قديمة
Could not find a production build in the '.next' directory. Try building your app with 'next build' before starting the production server.يقدّم yarn start آخر بناء إنتاج من المجلد .next. شغّل yarn build أولًا، ومن جديد بعد كل تغيير.
إذا عرض التطبيق أخطاء لا تطابق كودك، وغالبًا بعد تغيير إصدار اعتمادية أو BUILD_STANDALONE، فاحذف المجلد .next وابنِ من جديد:
dashboard-template-1rm -rf .next
yarn buildعلى Windows، في PowerShell، احذفه بالأمر Remove-Item -Recurse -Force .next.
تبقى خريطة العالم فارغة
تنزّل خريطة العالم في النظرة العامة أشكال الدول من cdn.jsdelivr.net في المتصفح. من دون اتصال بالإنترنت، أو حيث يحجب جدار حماية ذلك العنوان، لا تعرض الخريطة أي دولة. وبقية لوحة التحكم تعمل من دون اتصال.
زر لا يفعل شيئًا، أو لا يحفظ شيئًا
هكذا يأتي القالب. ليس له خلفية، فالأزرار التي ستطلب شيئًا من الخادم جاهزة لكودك أنت:
- Apple وGoogle وتذكرني ونسيت كلمة المرور؟ في صفحة تسجيل الدخول.
- إضافة معاملة، والتحويل السريع، والتحويل السريع الثاني: تفتح نماذجها وتفحص ما تكتبه، لكن لا يُخزَّن شيء.
- إضافة بطاقة في صفحة البطاقات، وزرا البحث والتحديث في الترويسة، وحفظ التغييرات والمساعدة والدعم في الإعدادات.
أما نطاق التاريخ ونافذة التصفية في صفحة المعاملات فيعملان فعلًا: يضيّقان الجدول في المتصفح. وتفتح الصفحة على آخر 30 يومًا، وهي تضم كل المعاملات النموذجية.
لا يظهر لون العلامة الجديد
مع تفعيل الوضع التجريبي، يحفظ مبدّل الألوان العائم اللون الذي تختاره في المتصفح، ويتغلب هذا الاختيار على اللون المضبوط في الكود. اختر اللون نفسه في المبدّل، أو امسح بيانات الموقع لـ localhost:3030 في متصفحك. ومع تعطيل الوضع التجريبي، يستخدم التطبيق دائمًا اللون المضبوط في الكود.
تفتح لوحة التحكم بالعربية
فتح / يوجّه الزائر إلى /ar عندما يفضّل متصفحه العربية، وإلى /en في غير ذلك. اختر اللغة الأخرى من قائمة اللغة في الترويسة، أو افتح /en/login مباشرة.
المجلد يبدو مختلفًا
شغّل الأوامر داخل المجلد الذي يُفك ضغط الملف فيه، dashboard-template-1. يحتوي على Dockerfile وpackage.json وyarn.lock وmessages وpublic وsrc. إذا لم يوجد الأمر unzip، فك الضغط بمدير الملفات بدلًا منه؛ وتضيف بعض الأدوات مجلدًا إضافيًا باسم الملف المضغوط، فانتقل إلى المجلد الداخلي.