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

时间:2015-04-17 06:47:19

标签: javascript node.js debugging sails.js node-inspector

我正在创建我的第一个sails.js应用。我试过的时候

sails debug

我在命令提示符下出现以下错误

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

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

C:\Windows\system32>netstat -a -n -o

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

我正在使用带有node.js v0.12.0sails.js 0.11.0

的Windows 8.1

3 个答案:

答案 0 :(得分:3)

我的服务器使用节点0.10.38和风帆,因为有一些奇怪的不固定的咕噜声和11+。暂时没有解决这个问题,但看起来有新的活动...查看this comment in particular,解释问题和可能的修复(直接引用):

  

可能的解决方案:

     

查看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'
});
     
    

将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: []
  }
);

答案 1 :(得分:2)

这似乎是Sails中的一个错误。你可以通过更换你的Sails来应用自我修复。档案:

  

./ node_modules /帆/ LIB /钩/咕噜/ index.js

以下内容:

https://raw.githubusercontent.com/balderdashy/sails/88ffc0ed9949f8c74ea390efb5610b0e378fa02c/lib/hooks/grunt/index.js

这是Sails'中的文件。发布v12。

答案 2 :(得分:0)

您是否尝试像简单node.js一样在调试中运行?

node --debug app.js