Grunt 插件 grunt-exec v2.0.0 不执行简单命令,而 v1.0.1 执行

Grunt plugin grunt-exec v2.0.0 doesn't execute a simple command while v1.0.1 does

我在 Gruntfile.js 中使用具有此配置的 grunt-exec v1.0.1:

grunt.initConfig({
    exec: {
        tsc: {
            cmd: "tsc"
        }
    },
    ...
}

...

grunt.loadNpmTasks('grunt-exec');

grunt.registerTask('debug', [
    ...
    'exec:tsc',
    ...
]);

然后控制台tsc中的运行grunt debug正确执行

在另一个具有类似配置的项目中,它安装了最新版本的 grunt-exec(v.2.0.0) 和 运行 grunt-debug 返回下一个错误:

Running "exec:tsc" (exec) task
>> Failed with: Error: spawn tsc ENOENT
Warning: Task "exec:tsc" failed. Use --force to continue.

使用 -verbose 选项 returns:

Running "exec:tsc" (exec) task
Verifying property exec.tsc exists in config...OK
File: [no files]

tsc
buffer   : disabled
timeout  : infinite
killSig  : SIGTERM
shell    : true
command  : tsc
args     : []
stdio    : [ignore,pipe,pipe]
cwd      : D:\Pruebas\Angular 2\ATemplate
exitcodes: 0
pid     : undefined
>> Failed with: Error: spawn tsc ENOENT
Warning: Task "exec:tsc" failed. Use --force to continue.

我知道我可以使用 grunt-exec 的 v1.0.1 让它工作,但我想知道我必须如何使用 v2.0.0 来完成它。 project documentation in github 没有给我线索。

看起来 grunt-exec 版本 v2.0.0 使用了一些旧版本节点不支持的 ECMAScript 功能。

我看到的第一个是:

Symbol.match, String.prototype.endsWith 在 node < v6.10.2 中不受支持 看这里:http://node.green/

升级您的节点版本以解决此问题。