代码之家  ›  专栏  ›  技术社区  ›  Dino Morrison

电子包装机spawn Enoint

  •  3
  • Dino Morrison  · 技术社区  · 7 年前

    Uncaught Exception:
    Error: spawn gulp ENOENT
        at exports._errnoException (util.js:1022:11)
        at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
        at onErrorNT (internal/child_process.js:359:16)
        at _combinedTickCallback (internal/process/next_tick.js:74:11)
        at process._tickCallback (internal/process/next_tick.js:98:9)
    

    这是代码:

    exports.runTask = (taskName, projPath) => {
        const cp = spawn('gulp', [ taskName ], {cwd: projPath});
        cp.stdout.setEncoding('utf8');
        cp.stdout.on('data', data => {
            console.log(data);
            mainWindow.webContents.send('task-console-data', data);
        });
    
        cp.stderr.setEncoding('utf8');
        cp.stderr.on('data', data => {
            console.error(data);
            displayNotification({text: `[error] ${data}`});
            mainWindow.webContents.send('task-console-data', `[error] ${data}`);
        });
    
        cp.on('exit', code => {
            if (code === 0) {
              displayNotification({
                title: 'gulp',
                subtitle: 'Finished running tasks'
              });
            } else if ( !code || code === null ) {
                return;
            } else {
                console.error(`Exited with error code ${code}`);
    
                displayNotification({
                    title: 'gulp',
                    subtitle: `Exited with error code ${code}`,
                    sound: 'Basso'
                });
            }
        });
    };
    
    1 回复  |  直到 7 年前
        1
  •  4
  •   Dino Morrison    7 年前

    如果其他人遇到这个问题,答案是更正$PATH。npm上有一个软件包可以为您实现这一点。

    https://www.npmjs.com/package/fix-path