2017-05-02 73 views
0

當我有一個在發展中的收到錯誤:運行咕嚕

yarn start

啓動了一個項目產卵./node_modules/.bin/grunt ENOENT它運行一個index.js啓動咕嚕過程,並得到這個錯誤:

$ yarn start 
yarn start v0.23.2 
$ node ./development 
grunt_arguments [ '--force', '--notify', '--verbose', '--debug', '--stack' ] 
======================================= 
Open http://localhost:8000 to start developing 

events.js:141 
     throw er; // Unhandled 'error' event 
    ^

Error: spawn ./node_modules/.bin/grunt ENOENT 
    at exports._errnoException (util.js:907:11) 
    at Process.ChildProcess._handle.onexit (internal/child_process.js:189:32) 
    at onErrorNT (internal/child_process.js:355:16) 
    at nextTickCallbackWith2Args (node.js:458:9) 
    at process._tickCallback (node.js:372:17) 
    at Function.Module.runMain (module.js:443:11) 
    at startup (node.js:139:18) 
    at node.js:990:3 
error Command failed with exit code 1. 

不知道它是什麼。環境是:

  • Win10
  • 與MINGW64

回答

1

運行我通常猴子補丁child_process幫我調試那樣的問題。加入這樣的事情在你index.js文件的開頭:

const util = require('util') 
const childProcess = require("child_process"); 

const originalSpawn = childProcess.spawn; 

childProcess.spawn = function() { 
    console.trace('SPAWN'); 
    console.log('ARGS'); 
    console.log(util.inspect(arguments, false, null)); // showHidden = false, depth = null 

    return originalSpawn.apply(this, arguments); 
}; 

如果你的跑步,childProcess.spawn('ls', ['-lh', '/usr']),你會看到類似這樣的:

Trace: SPAWN 
    at Object.childProcess.spawn (repl:2:9) 
    at myFunction (repl:2:14) 
    at repl:1:1 
    at REPLServer.defaultEval (repl.js:164:27) 
    at bound (domain.js:250:14) 
    at REPLServer.runBound [as eval] (domain.js:263:12) 
    at REPLServer.<anonymous> (repl.js:392:12) 
    at emitOne (events.js:82:20) 
    at REPLServer.emit (events.js:169:7) 
    at REPLServer.Interface._onLine (readline.js:210:10) 
ARGS 
{ '0': 'ls', '1': [ '-lh', '/usr' ] } 

運行它後,也許你可以用新的信息來更新你的問題。

+1

感謝@Danziger,我通過切換到linux工作;) – R01010010