节点脚本抛出uv_signal_start EINVAL

use*_*647 16 ubuntu node.js

我正在运行Ubuntu 12.10并开始使用Node.

我首先使用Ubuntu存储库安装节点.我遇到了一些麻烦,所以我使用Chris Lea的存储库重新安装.之后,节点运行得更好,没有先前的错误.

然后我跑了 sudo npm install node-dev -g

但运行node-dev script.js无法正常工作.

Error:
node.js:762
          throw errnoException(process._errno, 'uv_signal_start');
                ^
Error: uv_signal_start EINVAL
    at errnoException (node.js:540:13)
    at process.on.process.addListener (node.js:762:17)
    at spawn.cwd (/usr/local/lib/node_modules/node-dev/node-dev:52:11)
    at Array.forEach (native)
    at Object.<anonymous> (/usr/local/lib/node_modules/node-dev/node-dev:51:25)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
Run Code Online (Sandbox Code Playgroud)

Som*_*ens 51

错误不在于node-dev,而是在您的脚本中. Error: uv_signal_start EINVAL当您尝试使用时,会在较新版本的节点中抛出SIGKILL或者SIGSTOP,如下所示:

process.on('SIGKILL', function() { // etc, etc
Run Code Online (Sandbox Code Playgroud)

你可能在早期版本中侥幸成功,但是现在更新的版本会抛出这个错误(详见GitHub问题).

  • 这是一个完全神秘的错误 (10认同)
  • TIL 在 Windows 上它只是不注册事件,而在 Linux 上它完全崩溃。谢谢你,我万万没想到 (3认同)