Не могу запустить простое приложение node.js, выбрасывающее Ошибка: слушайте EACCES - PullRequest
0 голосов
/ 05 декабря 2018

Обычно я пишу код на c9. Я пытаюсь найти работу в своей локальной среде. Я пытаюсь создать приложение, но получаю сообщение об ошибке.

APP:

//APP IMPORTS
var express    = require('express'),
    app        = express()


//INDEX PAGE
app.get('/', function(req, res) {
   res.send('Welcome');
});


app.listen('localhost', 30000, function() {
   console.log("mirror server started!"); 
});

Ошибка:

λ node app.js
events.js:167
      throw er; // Unhandled 'error' event
      ^

Error: listen EACCES localhost
    at Server.setupListenHandle [as _listen2] (net.js:1269:19)
    at listenInCluster (net.js:1334:12)
    at Server.listen (net.js:1432:5)
    at Function.listen (c:\Moi\mirror\node_modules\express\lib\application.js:618:24)
    at Object.<anonymous> (c:\Moi\mirror\app.js:12:5)
    at Module._compile (internal/modules/cjs/loader.js:688:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
    at Module.load (internal/modules/cjs/loader.js:598:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
    at Function.Module._load (internal/modules/cjs/loader.js:529:3)
Emitted 'error' event at:
    at emitErrorNT (net.js:1313:8)
    at process._tickCallback (internal/process/next_tick.js:63:19)
    at Function.Module.runMain (internal/modules/cjs/loader.js:744:11)
    at startup (internal/bootstrap/node.js:285:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:739:3)

Не уверен, почему это происходит, я сначала пытался с process.env.IP и process.env.PORT, но я пока не хотел устанавливать переменные среды, и я не знаю, какой узел ipиспользует по умолчанию, поэтому я пытался вот так, не уверен, почему он не работает, я также пытался с ip, как «127.0.0.22» и PORT 3000, и т. д.

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Чтобы запустить приложение, попробуйте следующее:

//APP IMPORTS
var express    = require('express'),
    app        = express()


//INDEX PAGE
app.get('/', function(req, res) {
   res.send('Welcome');
});

app.set('port', 30000);

app.listen(app.get('port'), function() {
   console.log("mirror server started!"); 
});

Ваш сервер должен автоматически получить localhost в качестве хоста и изменить его, как только вы начнете работать на хосте вашего сервера.

Другой способ

Просто замените порядок параметров вашей функции прослушивания следующим образом:

app.listen(30000, 'localhost',  function() {
   console.log("mirror server started!"); 
});

Сигнатура, подобная экспресс-описанию, выглядит следующим образом: app.listen([port[, host[, backlog]]][, callback])

Источник: Экспресс-документация
Вы можете найти здесь небольшое объяснение того, как выразить handelt server config

0 голосов
/ 05 декабря 2018

Номер порта и «узел привязки» указаны в неправильном порядке.Должно быть:

app.listen(30000, 'localhost', ...)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...