আমি একটি অ্যাপ্লিকেশন পরীক্ষা করছি (আশা করি হিরকু চলবে, তবে স্থানীয়ভাবেও সমস্যা হচ্ছে)। এটি আমাকে একটি EACCES ত্রুটি দিচ্ছে যখন এটি http.Server.listen () চালায় - তবে এটি কেবল কিছু পোর্টে ঘটে।
সুতরাং, স্থানীয়ভাবে আমি চালাচ্ছি:
joe@joebuntu:~$ node
> var h = require('http').createServer();
> h.listen(900);
Error: EACCES, Permission denied
at Server._doListen (net.js:1062:5)
at net.js:1033:14
at Object.lookup (dns.js:132:45)
at Server.listen (net.js:1027:20)
at [object Context]:1:3
at Interface.<anonymous> (repl.js:150:22)
at Interface.emit (events.js:42:17)
at Interface._onLine (readline.js:132:10)
at Interface._line (readline.js:387:8)
at Interface._ttyWrite (readline.js:564:14)
900 বন্দরটিতে আমার কোনও চলমান নেই (বা অন্য 20 টি বন্দরগুলির মধ্যে আমি চেষ্টা করেছি), সুতরাং এটি কাজ করা উচিত। অদ্ভুত অংশ এটা করে কিছু পোর্ট কাজ। উদাহরণস্বরূপ, পোর্ট 3000 নিখুঁতভাবে কাজ করে।
এর কারণ কী হবে?
আপডেট 1:
আমি বুঝতে পেরেছিলাম যে আমার স্থানীয় কম্পিউটারে, EACCES ত্রুটিটি আসছে কারণ এই নির্দিষ্ট বন্দরগুলিতে আবদ্ধ হওয়ার জন্য আমাকে রুট হিসাবে নোড চালাতে হবে। কেন হয় তা আমি জানি না, তবে সুডো ব্যবহারের মাধ্যমে এটি ঠিক হয়ে যায়। যাইহোক, এটি হিরোকুতে কীভাবে এটি ঠিক করব তা ব্যাখ্যা করে না। হিরোকুতে মূল হিসাবে চালানোর কোনও উপায় নেই, তাই আমি কীভাবে 80 পোর্টে শুনতে পারি?