gulp-notify 错误;未指定报告器

3
我正在使用Vagrant和Puppet来管理我的开发环境,开发一个Magento网站。我使用Magento Boilerplate主题(https://github.com/webcomm/magento-boilerplate)作为基础,它使用Gulp.js来自动编译LESS和JS文件。我从主机上运行gulp,因为主机上安装了完整的node、npm等工具,但是出现了以下错误:
stream.js:94
  throw er; // Unhandled stream error in pipe.
        ^
[gulp] Error in plugin 'gulp-notify': No reporter specified.

主机操作系统为Ubuntu 12.04,客户机操作系统为CentOS。主机已安装所需的notify-send软件包,客户机已安装libnotify,但gulp似乎都无法识别。

我以前使用过Grunt,现在是gulp新手,可能有些地方不懂。

1个回答

0

gulp-notify 旨在在桌面环境下使用,配合通知器一起运行。将其用于无头服务器是没有意义的。

您可以使用 gulp-if 插件gulp-util,以及生产/开发标志来防止在服务器上运行 gulp-notify

设置如下:

var _if = require('gulp-if'),
    gutil = require('gulp-util');

var production = gutil.env.production;

//...

     // use like so in your pipe:
    .pipe(_if(!production, notify('...')))

然后,在您的服务器上像这样运行它:

gulp --production

如果您更喜欢谨慎一些,可以将其反转,这样您就可以测试--devgutil.env.dev),并且只有在为真时才启用它。


谢谢@OverZealous,即便没有其他的,我也很喜欢你处理环境的方式。 不过,为了回应你的开场白,我是在我的桌面上运行grunt任务,而不是Vagrant创建同步文件夹的虚拟机中运行。 如果我去掉所有gulp-notify的引用,gulp任务就能正常运行。只是它似乎不能识别我安装的notify-send。 - AppSol
我从未在vagrant上测试过gulp-notify,但是这里有一篇关于如何使用它的博客文章:jpbetley.com/vagrant-gulp-notifications - mikaelb

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