2014-01-15 2 views
0

Я бегу метеорит (с тестовым проектом, поэтому ошибки не должны быть из-за того, что я написал) на OSX, и я получаю после ошибки, когда я запускаю порт по умолчанию 3000. Я проверил, и никакой другой процесс не обращается к этому порту.Ошибка метеорита (метеорит): прослушивание EADDRINUSE на порту 3000, ошибка: подключить ECONNREFUSED на других портах

event.js: 72 throw er; \ Необработанное 'ошибка' событие Ошибка: слушать EADDRINUSE на errnoExeception: (net.js: 901: 11) на Server._listen2 (net.js: 1039.14) на слушающих (net.js: 1061: 10) в net.js: 1135: 9 at dns.js: 72: 18 at process._tickCallback (node.js: 415: 13) at Function.Module.runMain (module.js: 499: 11) при запуске (node.js: 119: 16) at node.js: 901: 3

Когда я пытаюсь запустить mrt на порт, который, как мне известно, занят, я получаю правильное сообщение об ошибке (не могу прослушивать порт 3001) , и когда я пытаюсь запустить на другом незанятом порту, я получаю: Ошибка: подключите ECONNREFUSED

Любые предложения?

Дальнейшее обновление:

Я просто сделал полное отключение/перезагрузка, выбрал новый номер порта (3200), проверяется, что ничего не использует этот порт или что-нибудь рядом с ним, и побежал метеоритный --port 3200. I получил:

I20140115-14:02:29.623(-7)? ----------Wed Jan 15 2014 14:02:29 GMT-0700 (MST) SQL Driver Starting -------- 
W20140115-14:02:29.639(-7)? (STDERR) Error: connect ECONNREFUSED 
W20140115-14:02:29.639(-7)? (STDERR)  at errnoException (net.js:901:11) 
W20140115-14:02:29.640(-7)? (STDERR)  at Object.afterConnect [as oncomplete]  (net.js:892:19) 
W20140115-14:02:29.640(-7)? (STDERR)  -------------------- 
W20140115-14:02:29.641(-7)? (STDERR)  at Handshake.Sequence (/Users/a230073/.meteor/tools/09b63f1ed5/lib/node_modules/mysql/lib/protocol/sequences/Sequence.js:15:20) 
W20140115-14:02:29.641(-7)? (STDERR)  at new Handshake (/Users/a230073/.meteor/tools/09b63f1ed5/lib/node_modules/mysql/lib/protocol/sequences/Handshake.js:9:12) 
W20140115-14:02:29.641(-7)? (STDERR)  at Protocol.handshake (/Users/a230073/.meteor/tools/09b63f1ed5/lib/node_modules/mysql/lib/protocol/Protocol.js:41:50) 
W20140115-14:02:29.642(-7)? (STDERR)  at PoolConnection.Connection.connect (/Users/a230073/.meteor/tools/09b63f1ed5/lib/node_modules/mysql/lib/Connection.js:73:18) 
W20140115-14:02:29.642(-7)? (STDERR)  at Pool.getConnection (/Users/a230073/.meteor/tools/09b63f1ed5/lib/node_modules/mysql/lib/Pool.js:43:23) 
W20140115-14:02:29.642(-7)? (STDERR)  at app/server/dbinit.js:13:6 
W20140115-14:02:29.642(-7)? (STDERR)  at app/server/dbinit.js:79:3 
W20140115-14:02:29.643(-7)? (STDERR)  at /Users/lfrey/Desktop/Thesis/test-meteor-sql/.meteor/local/build/programs/server/boot.js:155:10 
W20140115-14:02:29.643(-7)? (STDERR)  at Array.forEach (native) 
W20140115-14:02:29.643(-7)? (STDERR)  at Function._.each._.forEach (/Users/a230073/.meteor/tools/09b63f1ed5/lib/node_modules/underscore/underscore.js:79:11) 

ответ

0

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

Если у вас был ранее запущенный метеорный процесс, который не вышел должным образом, вы получите ошибку EADDRINUSE при попытке запустить другой на том же порту. Простое решение - это просто перезагрузка. Вы также можете попытаться найти процесс и вручную его убить: запустите ps aux | grep meteor и kill PID, где PID - это идентификатор процесса (2-й столбец из вывода ps). Конечно, может быть, у вас просто есть какой-то другой несвязанный процесс, использующий этот порт ... но сначала попробуйте вышесказанное.

Если вы попытаетесь запустить процесс на другом порту, например. meteor --port 4000, который должен работать, если порт недоступен для вас. Например, на машинах * NIX порты ниже 1024 требуют повышенных привилегий.

+0

Я пробовал все это: вместо этого использовал «метеорит», убив все процессы метеора, перезапустив и используя другой порт. Когда я пытаюсь запустить другой порт (3002, 4000 и т. Д.), Я вместо этого получаю сообщение об ошибке: подключайте ECONNREFUSED. – user3175280

+0

Вы также убили все процессы узлов? Я думаю, что метеорит использует узел в качестве процесса, а не самого метеора. – Akshat

+0

@ Акшат. Он сказал, что он перезагрузился, поэтому, если он не висит в другом процессе, как только он начнет, я бы не подумал, что это будет проблемой. –

0

У меня была такая же проблема с глотком ... Вам нужно найти PSID порта, а затем запустить kill -9 на номер PSID. После того, как вы сможете снова запустить его.

sudo lsof -i :3200 
sudo kill -9 PSID 
Смежные вопросы