为什么“gulp-jest”失败了:“请运行带有--harmony标志的节点!”?

时间:2015-02-04 07:29:13

标签: gulp reactjs jestjs gulp-jest

运行gulp test时出现以下错误:

Error: Please run node with the --harmony flag!

这是我的gulp任务:

var jest = require('gulp-jest');

gulp.task('test', function() {
  return gulp.src('src/**/__tests__').pipe(jest({
    rootDir: 'src',
    scriptPreprocessor: '../node_modules/6to5-jest',
    unmockedModulePathPatterns: [ 'react' ]
  }));
});

要重现:https://github.com/SEEK-Jobs/react-playground

请注意npm test正常工作(测试按预期失败),但gulp test因上述错误而失败。 npm testgulp test都具有相同的配置对象:

{
  rootDir: 'src',
  scriptPreprocessor: '../node_modules/6to5-jest',
  unmockedModulePathPatterns: [ 'react' ]
}

我做错了什么?

2 个答案:

答案 0 :(得分:7)

据我所知,错误是从jest-cli抛出的。

您没有使用npm test获取它的原因是您可能已将npm配置为直接运行jest bin脚本,该脚本使用harmonize以编程方式设置--harmony标志。 / p>

您可以通过安装harmonize并将require('harmonize')()放入gulpfile来解决。

答案 1 :(得分:1)

这是gulp-eslint中的一个错误,现在修复版本为0.3.0。