Heroku Application error ! কারণ এবং সমাধান
অস্সালামুলাইকুম , আমি সোলাইমান স্বাধীন…
এই আর্টিকেলটি হেরোকুতে নোড/এক্সপ্রেস এপ্লিকেশন ডেপ্লয় এর কমন ইস্যু নিয়ে ,
“Application Error”

প্রথমে চলুন খুঁজে বের করি আপনি কেন এই এররটা পাচ্ছেন আপনার ভুলটা কোথায় ?
তো আমার দেখা মতে মূলত তিনটা কমন ভুল এর কোনোটা আমরা করে ফেলি হেরোকুতে আমাদের এপ্লিকেশন ডেপ্লয় এর সময় , আপনি মিলিয়ে দেখুন আপনি কোনটা করছেন…
১ ) আপনি Nodemon দিয়ে আপনার সার্ভার রান করতেন কিন্তু Nodemon আপনার প্রজেক্টে ইনস্টল নেই / package.json এ ডিপেন্ডেন্সি হিসেবে সেভ নেই , অর্থাৎ হয়তোবা আপনার পিসিতে globally Nodemon ইনস্টল করা আছে , যে কারণে আপনার লোকাল কম্পিউটার এর যেকোনো প্রজেক্টে Nodemon ব্যবহার করতে পারতেছেন ঠিকই কিন্তু যখন সার্ভারে পুশ করতেছেন তখন সার্ভার আপনার ওই প্রজেক্ট তাতে package.json এ Nodemon ডিপেনডিন্সি হিসেবে না থাকায় Nodemon খুঁজে পাচ্ছেনা , যার ফলে সে সার্ভার আপনার এপ্লিকেশন সার্ভ করতে পারতেছেনা আর আপনি পাচ্ছেন এরর …
২) আপনার এপ্লিকেশন সার্ভ করতে আপনি হেরকুএর জন্য কোনো অপশনাল পোর্ট দিয়ে দেননি , হ্যা , অনেক সময় এমনটা হতে পারে যে আপনি যে পোর্ট দিয়ে দিয়েছেন সেটা হেরোকু অলরেডি অন্য কোনো কাজে ব্যবহার করতেছে , যে কারণে আপনার দেয়া পোর্টে সে সার্ভ করতে পারতেছেনা , এইরকম পরিস্থিতি এড়ানোর জন্য হেরোকু থেকে অটোমেটেড জেনারেটেড পোর্টে আপনার এপ্লিকেশন সার্ভ করার অপসন দিয়ে দেননি ….
৩) আপনার এপ্লিকেশন রান করতে হয়তোবা Environment Variable ব্যবহার করছেন আবার .gitignore ব্যবহার করে সেটাকে পাবলিশ করা থেকে প্রিভেন্ট করছেন … okay ঠিক আছে কিন্তু আপনার এপ্লিকেশন রান করতেতো সেইসব ভ্যারিয়েবল এর ভ্যালু প্রয়োজন হবে সেটা আপনাকে হেরোকু কনফিগ ভ্যারিয়েবল এ সেট করে দিতে হবে হয়তোবা আপনি সেটা করেননি
তো আমি আশা করতেই পারি আপনি আপনার করে রাখা ভুলটি সনাক্ত করতে পেরেছেন ….
চলুন তাহলে সমাধান করে ফেলা যাক …
১) আপনি যদি nodemon জনিত ভুলটি করে থাকেন, আপনি আপনার এপ্লিকেশন এর package.json এ গিয়ে কন্ফার্ম হয়েনিতে পারেন যে আপনার nodemon ডিপেন্ডেন্সি হিসেবে সেভ আছে কি নেই … যদি না থাকে তাহলে আপনার করণীয় সেটাকে — সেভ ফ্ল্যাগ দিয়ে ইনস্টল করে ফেলা , তো জটপট কমান্ডটি দিয়ে ফেলুন
npm install nodemon — save
এখন আপনার কাজ হচ্ছে এটাকে git add . করে হেরোকুটে পুশ করে দেয়া
git add .
git commit -m “Nodemon added”
git push heroku master
কি হয়েগেছে প্রব্লেম সল্ভ ?
না হয়ে থাকলেও চিন্তার কারণ নেই আপনার হয়তো অন্য ভুল
2) যদি পোর্ট জনিত প্রব্লেম হয়ে থাকে তাহলে আপনি জাস্ট আপনার পোর্ট এর পাশে “Or” “||” অপারেটর দিয়ে process.env.PORT এটা দিয়ে দিবেন … এটার জন্য আপনার নিজেস্ব Environment Variable তৈরী করতে হবেনা এটা হেরোকু প্রদান করবে হেরোকু এনভায়রনমেন্ট থেকে (অটোমেটিক)

চেঞ্জটাকে git add . , commit , and হেরোকুটে push করতে ভুলবেননা …
৩ ) সমাধান ৩ … ওকে আপনি যদি হেরোকু তে আপনার এনভায়রনমেন্ট ভ্যারিয়েবল গুলা সেট করে না থাকেন তাহলে হেরোকু ড্যাশবোর্ড থেকে আপনার এপ্লিকেশন সিলেক্ট করে সেটিং এ চলে গিয়ে “Reveal Config vars” সিলেক্ট করে আপনার এনভায়রনমেন্ট ভ্যারিয়েবল গুলা অ্যাড করে দিন ব্যাস ….


আল্লাহ হাফেজ …..