اذهب إلى المحتوى

السؤال

نشر

لقد قمت بإنشاء مشروع بسيط باستخدام node.js وإطار العمل express.js وحاولت نشره على heroku ولكن يظهر لي الخطأ التالي:

heroku[router]: at=error code=H10 desc="App crashed" method=GET path=/ dyno= queue= wait= connect= service= status=503 bytes=

وفي ملف package.json لدي:

{
  "name": "test",
  "author": "",
  "description": "",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node app"
  },
  "dependencies": {
    "express": "3.0.6",
    "jade": "*",
  },
 "engines": {
      "node": "0.8.14"
  }
}

كيف يمكنني حل هذه المشكلة؟

Recommended Posts

  • 0
نشر

إن الخطأ App crashed لا يعطي أي تفاصيل عن نوع الخطأ أو ما السبب الذي أدى إلى توقّف عمل الخادم. يجب عليك قراءة ملفات logs لديك لمشاهدة الأخطاء التي يتم إظهارها من قبل مشروعك وتحديد المشكلة بشكل أدق وإعادة تشغيل الخادم من خلال:

heroku restart

ولكن من بعض أسباب ظهور هذه المشكلة هو كتابة المنفذ port بشكل يدوي، لأن heroku يقوم بإضافة المنفذ من قبله بشكل أوتوماتيكي، ففي حال كنت قد كتبت رقّم معيّن يجب عليك استبداله بإضافة قيمة process.env.PORT بالشكل التالي:

app.listen(process.env.PORT || 5000, function(){
  console.log("server running..");
});

كما في بعض الأحيان قد تحدث هذه المشكلة نتيجة سوء توافق بين نسخ الحزم أو إصدارات node.js لذلك يجب عليك التأكد من أن لديك نسخة node.js محدّثة تتوافق مع النسخة التي تم استخدامها في مشروعك والموجودة على الاستضافة:

node --version

وأخيراً تأكد من قيم متغيّرات البيئة لديك في حال كنت تملك أكثر من قيم لبيئة التطوير وبيئة النشر، وأي أخطاء أخرى يمكنك أن تجدها ضمن سجلات logs.

  • 0
نشر

كما أشار sam فإن App crashed لا يعطي أي تفاصيل عن نوع الخطأ أو السبب، وإضافة إلى الحالات التي قدمها sam انتبه فيما إذا  كان ملف Procfile الخاص بك بالشكل:

web : node index.js
// استبدله إلى
web:node index.js

تحقق أيضاً من اتصال قاعدة البيانات الخاصة بك. فهذا أيضاً يسبب خطأ بمجرد دفعه إلى heroku.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...