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

时间:2017-04-27 11:46:13

标签: gruntjs grunt-exec

我在Gruntfile.js中使用grunt-exec v1.0.1进行此配置:

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

...

grunt.loadNpmTasks('grunt-exec');

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

然后在控制台grunt debug中正在运行tsc

在另一个具有类似配置的项目中,它安装了最新版本的  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选项返回:

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没有给我一些线索。

1 个答案:

答案 0 :(得分:2)

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

我看到的第一个是:

节点<不支持的

Symbol.match, String.prototype.endsWith v6.10.2 见这里:http://node.green/

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