สำหรับคนที่ติดตาม หรืออบรมกับโค้ชพล บางทีจะเจอปัญหานี้ตอนทดสอบแอพที่สร้างด้วย HTML5 และ Ionic Framework ครับ
... Uhoh. Got error listen EADDRINUSE ... Error: listen EADDRINUSE
ซึ่งทำให้เราไม่สามารถรันระบบจำลองเพื่อทดสอบแอพของเราได้ ให้ตรวจดูตามขั้นตอนดังต่อไปนี้ครับ
1. มีการรัน ionic serve ก่อนอยู่แล้ว
บางครั้งคุณอาจจะเผลอแยกหน้าจอ Command Prompt (Windows) หรือ Terminal (MAC OS X) ไว้หลายหน้าต่าง แล้วเผลอรัน ionic serve ทดสอบไว้ที่หน้าต่างหนึง แล้วเผลอมารัน ionic serve อีกหน้าต่างหนึงก็เป็นได้
ทำไปเพลิน เชี่ยวชาญแค่ไหน ก็อาจเผลอได้ ลองตรวจกรณีนี้ก่อนนะครับ
2. มีการเปิดโปรแกรมที่ใช้ Port เดียวกันกับ Ionic framework
ในกรณีที่ 2 นี้ เป็นไปได้ว่าคุณกำลังแยกวิญญาณลุยหลายโปรเจคบนเครื่องเดียวกัน หรืออาจจะมีโปรแกรมที่ทำงานอย่างเงียบๆ แล้ว port ไปตรงกับที่ Ionic framework จะใช้ก็ได้
ถ้ามาถึงขั้นตอนนี้ ให้ไล่ตรวจโปรแกรม web server ในเครื่องว่าทำงานอยู่หรือไม่ ตามด้วย Antivirus หรือโปรแกรมที่ทำงานเบื้องหลัง (Background process) ว่ามีการใช้งาน port เดียวกับ Ionic framework หรือไม่
โดยทั่วไป Web server ที่ Ionic framework ใช้ก็คือ port 8100 และ Live reload ก็จะเป็น 35729 ครับ
เคสที่โค้ชพลเจอมาจะๆ
- โค้ชพลเคยเจอ Baidu ไป block การทำงานของ Ionic Framework ด้วยนะ (เจอในเครื่องนักเรียน เลยอนุมัติการประหาร โปรแกรม Baidu ทันที)
- อีกอันคือโปรแกรม Brackets ที่โค้ชพลสอนวิธีใช้ไว้ที่นี่ มันมีบาง Extension ไปรบกวนการทำงานของ Web server ที่ Ionic จะใช้ด้วยนะ