2015-11-03 77 views
2

我试图启动脚手架与自耕农自定义生成的应用程序时,一个混帐回购协议的时候,这就是我在install步了:处理错误事件,约曼自定义的生成尝试运行命令

install: function() { 
    this.installDependencies(); 
    this.spawnCommand('npm', ['i', '--save' , 'express', 'mongodb', 'mongoose', 'lodash', 'bluebird', 'async', 'morgan']); 
    this.spawnCommand('git' ['init']); // Here fails 
    this.spawnCommand('git', ['add', '.']); 
    this.spawnCommand('git', ['commit', '-am', '"yo scaffolded app"']); 
    } 

试图运行此我得到然而,当:

events.js:85 
     throw er; // Unhandled 'error' event 
      ^
TypeError: Bad argument 
    at TypeError (native) 
    at ChildProcess.spawn (child_process.js:1136:26) 
    at Object.exports.spawn (child_process.js:995:9) 
    at spawn (/storage/home/dev/generator-koala/node_modules/yeoman-generator/node_modules/cross-spawn/index.js:87:19) 
    at spawnCommand (/storage/home/dev/generator-koala/node_modules/yeoman-generator/lib/actions/spawn_command.js:17:10) 
    at module.exports.yeoman.generators.Base.extend.install (/storage/home/dev/generator-koala/generators/app/index.js:72:10) 
    at /storage/home/dev/generator-koala/node_modules/yeoman-generator/lib/base.js:421:16 
    at processImmediate [as _immediateCallback] (timers.js:367:17) 

我已经安装的git,我应该怎么解决这个问题?

+0

尝试仅仅运行'git的init'减少范围。 –

+0

我不明白你 – diegoaguilar

+0

你有很多命令被同时触发,所以如果你只运行一个命令,你会确保没有任何因副作用而失败的命令。您需要减少问题的范围才能正确调试它。 –

回答

0

您没有使用回调,所以更改spawnCommandspawnCommandSync

install: function() { 
    this.installDependencies(); 
    this.spawnCommandSync('npm', ['i', '--save' , 'express', 'mongodb', 'mongoose', 'lodash', 'bluebird', 'async', 'morgan']); 
    this.spawnCommandSync('git' ['init']); 
    this.spawnCommandSync('git', ['add', '.']); 
    this.spawnCommandSync('git', ['commit', '-am', '"yo scaffolded app"']); 
    }