WebStorm中的Gulp错误:无法列出gulp任务

5

我的WebStorm无法读取和运行gulp任务。

直到上周五都一直工作正常。

这是在控制台中出现的错误:

无法列出questionary/gulpfile.js中的gulp任务: 解析JSON失败->在第1行第5列处终止数组路径$[1] *编辑设置

$ /usr/local/bin/node /Users/rkon2006/Projects/My/questionary/node_modules/gulp/bin/gulp.js --no-color --gulpfile /Users/rkon2006/Projects/My/questionary/gulpfile.js --tasks-json [17:26:14] 使用gulpfile ~/Projects/My/questionary/gulpfile.js [17:26:14] 开始'default'... 默认任务...

这是我的gulpfile.js中的代码(即使使用此代码,它也无法启动):

var gulp = require('gulp');

gulp.task('default', function () {
    console.log('Default task...');
});

进程以退出码0完成。

我使用的是gulp v4.0,node js 4.1.1(尝试了从0.10.28到4.1.1不同版本),以及npm 2.14.4。

你对此有什么想法吗?

4个回答

17

我在升级了Node的新版本后,使用Webstorm时遇到了同样的问题。

对我来说解决方案如下:

在Gulp块中WebStorm显示任务列表点击齿轮图标选择gulp设置,在"Gulp包"部分中添加路径到本地gulp包(即项目中node_modules中的gulp)。

路径示例:yourproject\node_modules\gulp


另一种可能解决问题的方法是删除 node_modules 文件夹并再次运行 npm install。您必须在 package.json 文件中注册您的依赖项。 - chalo
问题是InelliJ没有识别我的全局gulp。我只是将它引用到了我的node_modules/gulp文件夹,而且没有任何问题地运行了。 - MrD

3

更新Node版本和NPM本身即可解决问题。


1

我遇到了相同的问题,通过选择不同的Node解释器版本解决了问题。例如,在下面的图像中,我选择了8.9.2,然后在Gulp窗口中点击小刷新按钮,问题得以解决。

enter image description here


1
问题在于当评估gulpfile.js时,一些文本被记录到标准输出流中,但在运行任何gulp任务之前(即日志记录发生在gulp任务之外); 可能的解决方法:
  • 避免在gulp任务之外将任何内容记录到标准输出流中。

或者

  • 如果启动用于列出任务的标准输出流,则不要记录到标准输出流中,例如:
if (!isListingTasks()) {
    console.log('[my info]');
}

function isListingTasks() {
    return process.argv[process.argv.length - 1] === '--tasks-json';
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接