sails debug命令在Sails.js中不起作用

Jas*_*bas 6 javascript debugging node.js node-inspector sails.js

我正在创建我的第一个sails.js应用程序 当我尝试

sails debug
Run Code Online (Sandbox Code Playgroud)

我在命令提示符下遇到以下错误

Debugger listening on port 5858
info: Starting app...

error: Grunt :: Error: listen EADDRINUSE
    at exports._errnoException (util.js:746:11)
    at Agent.Server._listen2 (net.js:1129:14)
    at listen (net.js:1155:10)
    at Agent.Server.listen (net.js:1240:5)
    at Object.start (_debugger_agent.js:20:9)
    at startup (node.js:86:9)
    at node.js:814:3
Run Code Online (Sandbox Code Playgroud)

要使用端口:5858获取进程的PID,我尝试运行

C:\Windows\system32>netstat -a -n -o
Run Code Online (Sandbox Code Playgroud)

但遗憾的是没有进程到5858端口.我在这里遗漏了什么吗?

我正在使用Windows 8.1 node.js v0.12.0sails.js 0.11.0

Hyp*_*ral 3

我的服务器使用带有 sails 的节点 0.10.38,因为 11+ 上有一些奇怪的未修复的咕噜声。有一段时间没有提出这个问题了,但看起来有新的活动...特别查看此评论,它解释了问题和可能的修复(直接引用):

可能的解决方案:

查看 child_process.fork 的选项,--debug 标志在退出子宫时被传递给子进程,即运行 sails debug :

// ./node_modules/sails/bin/sails-debug.js

// Spin up child process for Sails
Womb.spawn('node', ['--debug', pathToSails, 'lift'], {
    stdio: 'inherit'
});
Run Code Online (Sandbox Code Playgroud)

将 options.execArgv 设置为空数组会删除该标志并允许进程继续:

// ./node_modules/sails/lib/hooks/grunt/index.js
var child = ChildProcess.fork(
  path.join(__dirname, 'grunt-wrapper.js'),
  [
    taskName,
    '--pathToSails='+pathToSails,

    '--gdsrc='+ pathToSails + '/node_modules'
  ],
  {
    silent: true,       
    stdio: 'pipe',
    execArgv: []
  }
);
Run Code Online (Sandbox Code Playgroud)