首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Meteor (Meteorite)错误:在端口3000上侦听EADDRINUSE,错误:在其他端口上连接ECONNREFUSED

Meteor (Meteorite)错误:在端口3000上侦听EADDRINUSE,错误:在其他端口上连接ECONNREFUSED
EN

Stack Overflow用户
提问于 2014-01-16 02:50:28
回答 2查看 1.9K关注 0票数 0

我在OSX上运行meteorite (有一个测试项目,所以错误不应该是由于我写的任何东西造成的),当我在默认端口3000上运行时,我得到了以下错误。我已经检查过了,没有其他进程正在访问该端口。

event.js:72抛出er;\未处理‘错误’事件错误: listen EADDRINUSE at errnoExeception:(net.js:901:11) at Server._listen2 (net.js:1039.14) at listen (net.js:1061:10) at listen(net.js:1061:10) at dns.js:72:18 at process._tickCallback (node.js:415:13) at Function.Module.runMain (module.js:499:11) at startup (node.js:119:16)在node.js:901:3

当我尝试在我知道已被占用的端口上运行mrt时,我得到了正确的错误消息(无法在端口3001上侦听),而当我试图在另一个未占用的端口上运行时,我得到: Error: connect ECONNREFUSED

有什么建议吗?

进一步更新:

我刚刚完全关闭/重新启动,选择了一个新的端口号( 3200 ),检查没有任何东西在使用该端口或它附近的任何东西,然后运行meteor --port 3200。我得到了:

代码语言:javascript
复制
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)
EN

回答 2

Stack Overflow用户

发布于 2014-01-16 03:13:49

首先,你应该使用meteor而不是mrt来启动你的应用。这一约定在几个版本之前发生了变化。

如果之前有一个正在运行的meteor进程没有正确退出,那么当您尝试在同一端口上启动另一个meteor进程时,您会得到一个EADDRINUSE错误。简单的解决方案就是重新启动。您还可以尝试找到该进程并手动终止它:运行ps aux | grep meteorkill PID,其中PID是进程id ( ps输出中的第二列)。当然,您可能只是有一些其他不相关的进程在使用该端口...但请先尝试以上步骤。

如果您尝试在另一个端口上运行您的进程,例如meteor --port 4000,那么除非该端口对您不可用,否则它应该可以工作。例如,在*NIX机器上,1024以下的端口需要提升权限才能使用。

票数 0
EN

Stack Overflow用户

发布于 2014-08-06 09:11:45

我也有同样的问题……您需要找到端口的PSID,然后对PSID号运行kill -9。之后,您应该能够再次运行它。

代码语言:javascript
复制
sudo lsof -i :3200
sudo kill -9 PSID
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21145818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档