我在OSX上运行陨石(带有测试项目,所以错误不应该由于我写的任何内容),并且当我在默认端口3000上运行时出现以下错误。我已经检查过,没有其他进程正在访问该端口。
event.js:72 扔掉\未处理的'错误'事件 错误:听EADDRINUSE 在errnoExeception:(net.js:901:11) 在Server._listen2(net.js:1039.14) 在听(net.js:1061:10) 在net.js:1135:9 在dns.js:72:18 at process._tickCallback(node.js:415:13) 在Function.Module.runMain(module.js:499:11) 在启动时(node.js:119:16) 在node.js:901:3
当我尝试在我知道被占用的端口上运行mrt时,我收到正确的错误消息(无法侦听端口3001),当我尝试在另一个未占用的端口上运行时,我得到: 错误:连接ECONNREFUSED
有什么建议吗?
进一步更新:
我刚刚完成关机/重启,选择了一个新的端口号(3200),检查没有使用该端口或其附近的任何东西,并运行meteor --port 3200.我得到了:
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 :(得分:0)
首先,您应该使用meteor
而不是mrt
启动应用。该惯例在几个版本之前发生了变化。
如果您之前正在运行的meteor进程未正确退出,则当您尝试在同一端口上启动另一个时,会出现EADDRINUSE
错误。简单的解决方案就是重启。您还可以尝试查找该流程并手动终止该流程:运行ps aux | grep meteor
,kill PID
其中PID
是流程ID(ps
输出中的第2列)。当然,您可能只是使用该端口进行其他一些不相关的过程......但首先尝试上述过程。
如果您尝试在另一个端口上运行您的进程,例如除非端口不可用,否则meteor --port 4000
应该有效。例如,在* NIX计算机上,1024以下的端口需要提升权限才能使用。
答案 1 :(得分:0)
我和gulp有同样的问题...你需要找到端口的PSID,然后运行 杀死PSID号上的-9。你应该能够再次运行它之后。
sudo lsof -i :3200
sudo kill -9 PSID