الانتقال إلى المحتوى الرئيسي
Header

استكشاف الأخطاء وإصلاحها

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

استضافة ذاتية

التثبيت الأولي ينتج عنه فشل المصادقة على كلمة المرور للمستخدم “بوستجريس”

🚨 هام: هذا الحل فقط للتثبيتات الجديدة 🚨 إذا كان لديك تطبيق Twenty موجود يحتوي على بيانات إنتاج، لا تتبع هذه الخطوات لأنها ستحذف قاعدة البيانات الخاصة بك بشكل دائم! أثناء تثبيت Twenty لأول مرة، قد ترغب في تغيير كلمة المرور الافتراضية لقاعدة البيانات. كلمة المرور التي تعيّنها أثناء التثبيت الأول يتم تخزينها بشكل دائم في حجم قاعدة البيانات. إذا حاولت لاحقًا تغيير هذه الكلمة في التكوين بدون إزالة الحجم القديم، ستحصل على أخطاء المصادقة لأن قاعدة البيانات لا تزال تستخدم كلمة المرور الأصلية. ⚠️ تحذير: اتباع الخطوات التالية سيقوم بحذف جميع بيانات قاعدة البيانات بشكل دائم! ⚠️ قم بالإجراء فقط إذا كان هذا تثبيتًا جديدًا بدون بيانات مهمة. لتحديث PG_DATABASE_PASSWORD عليك القيام بما يلي:
# Update the PG_DATABASE_PASSWORD in .env
docker compose down --volumes
docker compose up -d

تم العثور على فواصل الخط CR [نظام Windows]

هذا بسبب حروف فواصل الخط لنظام Windows وتكوين git. حاول تشغيل:
git config --global core.autocrlf false
ثم قم بحذف المستودع واستنساخه مرة أخرى.

Missing metadata schema

أثناء تثبيت Twenty، تحتاج إلى توفير قاعدة بيانات بوستجريس الخاصة بك بالمخططات والإضافات والمستخدمين الصحيحة. إذا نجح تشغيل هذا التخصيص، يجب أن تحتوي قاعدة البيانات لديك على المخططات default وmetadata. إذا لم تكن كذلك، فتأكد من عدم وجود أكثر من مثيل بوستجريس واحد يعمل على الكمبيوتر الخاص بك.

لا يمكن العثور على الوحدة النمطية ‘twenty-emails’ أو إعلانات نوعها المقابلة.

عليك بناء حزمة twenty-emails قبل تشغيل تهيئة قاعدة البيانات باستخدام npx nx run twenty-emails:build.

Missing twenty-x package

تأكد من تشغيل yarn في الدليل الجذر ثم تشغيل npx nx server:dev twenty-server. إذا لم يعمل ذلك، حاول بناء الحزمة المفقودة يدوياً.

التحقق من العمليات عند الحفظ لا يعمل

هذا يجب أن يعمل تلقائيًا مع تثبيت إضافة eslint. إذا لم يعمل ذلك، حاول إضافة هذا إلى إعدادات vscode (ضمن نطاق حاوية التطوير):
"editor.codeActionsOnSave": {

  "source.fixAll.eslint": "explicit"

}

أثناء تشغيل npx nx start أو npx nx start twenty-front، ظهرت خطأ نفاد الذاكرة

في packages/twenty-front/.env قم بإزالة تعليق على VITE_DISABLE_TYPESCRIPT_CHECKER=true وVITE_DISABLE_ESLINT_CHECKER=true لتعطيل فحوصات الخلفية مما يقلل من كمية الذاكرة المطلوبة. إذا لم يعمل ذلك: قم بتشغيل الخدمات التي تحتاجها فقط، بدلاً من npx nx start. على سبيل المثال، إذا كنت تعمل على الخادم، قم بتشغيل npx nx worker twenty-server فقط إذا لم يعمل ذلك: إذا حاولت تشغيل npx nx run twenty-server:start فقط على WSL وفشل مع خطأ الذاكرة أدناه: FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory الحل البديل هو تنفيذ الأمر التالي في الطرفية أو إضافته في ملف تعريف .bashrc ليتم الإعداد تلقائيًا: export NODE_OPTIONS="--max-old-space-size=8192" علامة —max-old-space-size=8192 تحدد حداً أقصى للذاكرة الخاصة بـ Node.js بحد أقصى 8GB؛ الاستخدام يتزايد بطلبات التطبيق. المرجع: https://stackoverflow.com/questions/56982005/where-do-i-set-node-options-max-old-space-size-2048 إذا لم يعمل ذلك: تحقق من العمليات التي تستغرق معظم ذاكرة جهازك. في Twenty، لاحظنا أن بعض إضافات VScode كانت تستهلك الكثير من الذاكرة لذا قمنا بتعطيلها مؤقتًا. إذا لم يعمل ذلك: إعادة تشغيل جهازك يساعد في تنظيف العمليات الوهمية.

أثناء تشغيل npx nx start تظهر سجلات غريبة [0] و [1]

هذا متوقع حيث أن الأمر npx nx start يقوم بتشغيل المزيد من الأوامر خلف الكواليس

لا يتم إرسال الرسائل الإلكترونية

غالبًا، يكون السبب هو أن “العامل” لا يعمل في الخلفية. حاول التشغيل
npx nx worker twenty-server

لا يمكن ربط حساب Microsoft 365 الخاص بي

غالبًا، يكون السبب في ذلك هو أن المسؤول الخاص بك لم يقم بتمكين رخصة Microsoft 365 لحسابك. تحقق من https://admin.microsoft.com/. إذا تلقيت رمز الخطأ AADSTS50020، فهذا يعني أنه ربما تستخدم حساب Microsoft شخصي. هذا غير مدعوم حتى الآن. المزيد من المعلومات هنا

أثناء تشغيل yarn تظهر تحذيرات في الكونسول

التحذيرات تخبر عن سحب تبعيات إضافية ليست مذكورة صراحة في package.json، طالما لم تظهر أي أخطاء تكسر العمل، ينبغي أن يعمل كل شيء كما هو متوقع.

عند الوصول إلى صفحة تسجيل الدخول تظهر رسالة خطأ حول مستخدم غير مصرح له بمحاولة الوصول إلى مساحة العمل في السجلات

هذا متوقع لأن المستخدم غير مصرح له عندما يسجل الخروج لأن هويته لم يتم التحقق منها.

كيف يمكنك التأكد من عمل العامل الخاص بك؟

Webhook test
  • افتح تطبيق Twenty الخاص بك، انتقل إلى /settings، وفعل التبديل المتقدم في الجزء السفلي الأيسر من الشاشة.
  • إنشاء ويب هوك جديد.
  • Paste Your Unique Webhook URL in the Endpoint Url field in Twenty. Set the Filters to Companies and Created.
Webhook settings
  • انتقل إلى /objects/companies وأنشئ سجلاً جديدًا للشركة.
  • ارجع إلى webhook-test.com وتحقق مما إذا كانت هناك طلب POST جديد تم استلامه.
Webhook test result
  • إذا تم استلام طلب POST، فهذا يعني أن العامل يعمل بنجاح. وإلا، ستحتاج إلى استكشاف الأخطاء وإصلاحها لعامل التشغيل الخاص بك.

لا يمكن تشغيل الواجهة الأمامية وتظهر رسالة الخطأ TS5042: لا يمكن مزج خيار ‘المشروع’ مع ملفات المصدر في سطر الأوامר

قم بتعليق مكون التحليل في packages/twenty-ui/vite-config.ts كما في المثال أدناه
plugins: [
      react({ jsxImportSource: '@emotion/react' }),
      tsconfigPaths(),
      svgr(),
      dts(dtsConfig),
      // checker(checkersConfig),
      wyw({
        include: [
          '**/OverflowingTextWithTooltip.tsx',
          '**/Chip.tsx',
          '**/Tag.tsx',
          '**/Avatar.tsx',
          '**/AvatarChip.tsx',
        ],
        babelOptions: {
          presets: ['@babel/preset-typescript', '@babel/preset-react'],
        },
      }),
    ],

لوحة الإدارة غير قابلة للوصول

قم بتشغيل UPDATE core."user" SET "canAccessFullAdminPanel" = TRUE WHERE email = 'you@yourdomain.com'; في حاوية قاعدة البيانات للحصول على الوصول إلى لوحة الإدارة.

Docker compose بنقرة واحدة

غير قادر على تسجيل الدخول

إذا كنت لا تستطيع تسجيل الدخول بعد الإعداد:
  1. قم بتشغيل الأوامر التالية:
    docker exec -it twenty-server-1 yarn
    docker exec -it twenty-server-1 npx nx database:reset  --configuration=no-seed
    
  2. إعادة تشغيل حاويات Docker:
    docker compose down
    docker compose up -d
    
لاحظ أن الأمر database:reset سيقوم بمسح قاعدة البيانات الخاصة بك بالكامل وإعادة إنشائها من جديد.

مشاكل الاتصال خلف بروكسي عكسي

إذا كنت تستخدم Twenty خلف بروكسي عكسي وواجهت مشاكل في الاتصال:
  1. تأكد من SERVER_URL: تأكد من أن SERVER_URL في ملف .env يتطابق مع عنوان الوصول الخارجي الخاص بك، بما في ذلك https إذا كان SSL مفعلاً.
  2. التحقق من إعدادات البروكسي العكسي:
    • تأكد من أن البروكسي العكسي يقوم بتمرير الطلبات بشكل صحيح إلى خادم Twenty.
    • تأكد من أن رؤوس مثل X-Forwarded-For وX-Forwarded-Proto تم ضبطها بشكل صحيح.
  3. إعادة تشغيل الخدمات: بعد إجراء التغييرات، أعد تشغيل كل من البروكسي العكسي وحاويات Twenty.

خطأ عند تحميل صورة - تم رفض الإذن

تغيير ملكية مجلد البيانات على المضيف من الجذر إلى مستخدم ومجموعة آخرين يحل هذه المشكلة.

الحصول على المساعدة

إذا واجهت مشكلات لم يتم تغطيتها في هذا الدليل:
  • تفقد السجلات: اعرض سجلات الحاوية للرسائل الخطأ:
    docker compose logs
    
  • الدعم المجتمعي: تواصل مع مجتمع Twenty أو قنوات الدعم للحصول على المساعدة.