انتقل إلى المقال
Aniq-UI

Financial Dashboardحل المشكلات

حل المشكلات

الأخطاء التي قد تصادفها أثناء تثبيت لوحة التحكم أو بنائها أو تسجيل الدخول إليها أو تعديلها، وسبب كل خطأ وكيفية إصلاحه.

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 غير مُشغَّل.

  1. افتح Docker Desktop

    شغّل Docker Desktop وانتظر حتى يُظهر أن المحرك يعمل. على Linux، شغّل الخدمة: sudo systemctl start docker.

  2. تحقق من أن Docker يستجيب

    الطرفية
    docker info

    النتيجة المتوقعة: يطبع قسم Server بدلًا من رسالة خطأ.

  3. شغّل أمرك مجددًا

    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: غالبًا تشغيل سابق للوحة التحكم هذه، أو خادم مشروع آخر.

  1. اعرف ما الذي يشغل المنفذ

    على macOS أو Linux:

    الطرفية
    lsof -i :3030

    على Windows، في PowerShell:

    الطرفية
    netstat -ano | findstr :3030
  2. أوقفه

    أغلق ذلك البرنامج، أو أوقف التشغيل السابق: Ctrl+C في طرفيته، أو docker stop مع معرّف الحاوية من docker ps. ثم شغّل لوحة التحكم من جديد.

  3. أو استخدم منفذًا آخر

    أبقِ البرنامج الآخر وشغّل لوحة التحكم على منفذ متاح، هنا 3041:

    طريقة التشغيلالأمر
    Dockerdocker 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 Inter from Google Fonts." تعني أن البناء لم يصل إليها. أعد تشغيل الأمر بعد أن تتصل بالإنترنت؛ ومع Docker تُحفظ الخطوات المنتهية في الذاكرة المؤقتة.
  • لا توجد مساحة كافية على الجهاز (No space left on device): حرّر مساحة في Docker Desktop، أو تحقق مما يستخدمه Docker بالأمر docker system df.
  • يفشل عند الخطوة نفسها في كل مرة: أعد البناء من دون ذاكرة التخزين المؤقت.
الطرفيةفي dashboard-template-1
docker 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-1
rm -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، فك الضغط بمدير الملفات بدلًا منه؛ وتضيف بعض الأدوات مجلدًا إضافيًا باسم الملف المضغوط، فانتقل إلى المجلد الداخلي.

توقفت عند خطوة؟

ابحث عن الحل قبل أن تبدأ من جديد.

حل المشكلات

تفضيلات ملفات تعريف الارتباط

نستخدم ملفات تعريف الارتباط لتعزيز تجربة التصفح الخاصة بك وتحليل حركة المرور على الموقع وتخصيص المحتوى. بالنقر على "قبول الكل"، فإنك توافق على استخدامنا لملفات تعريف الارتباط للتحليلات والإعلانات المخصصة.