任务“阻塞”对方

我在Grunt中发现了一个奇怪的行为,它似乎是两个任务彼此阻塞(或类似的东西)。 任务是:shell( https://github.com/sindresorhus/grunt-shell )和sass( https://github.com/gruntjs/grunt-contrib-sass )。

我的(减less的)Gruntfile;

"use strict"; var path = require('path'); module.exports = function(grunt) { require('time-grunt')(grunt); require('load-grunt-tasks')(grunt); grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), shell: { options: { stdout: true, stderr: true }, bower: { command: path.resolve(process.cwd() + '/node_modules/.bin/bower --allow-root install') } }, /* ... other tasks */ sass: { dist: { options: { trace: true }, files: { 'dist/additional.css': 'assets/stylesheets/additional.scss' } } } }); grunt.registerTask('default', [ 'shell', 'sass', ]); } 

当我开始grunt我的shell任务完成,但咕噜“停止”在shell任务:

 Running "shell:bower" (shell) task Running "sass:dist" (sass) task ### ctrl + c ### Execution Time (2015-04-06 10:56:14 UTC) loading tasks 8.9s █ 1% shell:bower 18.6s ██ 2% sass:dist 13m 25.2s ██████████████████████████████████████████████ 97% Total 13m 52.7s 

当我单独开始这些任务时(使用grunt shellgrunt sass )一切正常。

有任何想法吗? 谢谢!

切换grunt-shell为fork grunt-shell-spawn并尝试同步运行任务。

 shell: { options: { stdout: true, stderr: true, async: false }, bower: { command: path.resolve(process.cwd() + '/node_modules/.bin/bower --allow-root install') } }