Как заставить работать gulp-favicons?

Не получается разобраться с gulp-favicons.
Что я делаю:

1. Установил favicons:
npm install favicons --save-dev

2. Установил gulp-favicons:
npm install gulp-favicons --save-dev

3. Установил through2
npm install through2 --save-dev

4. Прописал в gulpfile.js следующее:
var gulp = require('gulp'), 
        through = require('through2'),
        favicons = require('favicons');

gulp.task('fav', function () {
    gulp.src('app/favicons/ball.png')
        .pipe(favicons({
            settings: { background: '#1d1d1d' , vinylMode: true }
        }, function(code) {
            console.log(code);
        }))
        .pipe(through.obj(function (file, enc, cb) {
            console.log(file.path);
            this.push(file);
            cb();
        }))
        .pipe(gulp.dest('dist/favicons/'));
});


5. Кидаю изображение по указанному пути.

6. В index.html прописываю:
<link rel="favicons" href="favicons/ball.png" />

7. Запускаю задачу:
gulp fav

8. Командная строка мне отвечает:
[21:55:06] Using gulpfile ~\Google Drive\Web\OpenServer\domains\tyr.local\gulpfile.js
[21:55:07] Starting 'fav'...
[21:55:07] 'fav' errored after 28 ms
[21:55:07] TypeError: Cannot read property 'on' of undefined
    at DestroyableTransform.Readable.pipe (C:\Users\leshiple\Google Drive\Web\OpenServer\domains\tyr.local\node_modules\gulp\node_modules\vinyl-fs\node_modules\through2\node_modules\rea
dable-stream\lib\_stream_readable.js:516:7)
    at Gulp.<anonymous> (C:\Users\leshiple\Google Drive\Web\OpenServer\domains\tyr.local\gulpfile.js:80:10)
    at module.exports (C:\Users\leshiple\Google Drive\Web\OpenServer\domains\tyr.local\node_modules\gulp\node_modules\orchestrator\lib\runTask.js:34:7)
    at Gulp.Orchestrator._runTask (C:\Users\leshiple\Google Drive\Web\OpenServer\domains\tyr.local\node_modules\gulp\node_modules\orchestrator\index.js:273:3)
    at Gulp.Orchestrator._runStep (C:\Users\leshiple\Google Drive\Web\OpenServer\domains\tyr.local\node_modules\gulp\node_modules\orchestrator\index.js:214:10)
    at Gulp.Orchestrator.start (C:\Users\leshiple\Google Drive\Web\OpenServer\domains\tyr.local\node_modules\gulp\node_modules\orchestrator\index.js:134:8)
    at C:\Users\leshiple\AppData\Roaming\npm\node_modules\gulp\bin\gulp.js:129:20
    at process._tickCallback (node.js:355:11)
    at Function.Module.runMain (module.js:503:11)
    at startup (node.js:129:16)
    at node.js:814:3
C:\Users\leshiple\Google Drive\Web\OpenServer\domains\tyr.local\node_modules\favicons\index.js:258
                    encodeBase64(source.android, function (error, file) {
                                       ^
TypeError: Cannot read property 'android' of null
    at async.parallel.config.data.favicon_generation.favicon_design.ios.master_picture.type (C:\Users\leshiple\Google Drive\Web\OpenServer\domains\tyr.local\node_modules\favicons\index.
js:258:40)
    at C:\Users\leshiple\Google Drive\Web\OpenServer\domains\tyr.local\node_modules\favicons\node_modules\async\lib\async.js:567:21
    at C:\Users\leshiple\Google Drive\Web\OpenServer\domains\tyr.local\node_modules\favicons\node_modules\async\lib\async.js:246:17
    at C:\Users\leshiple\Google Drive\Web\OpenServer\domains\tyr.local\node_modules\favicons\node_modules\async\lib\async.js:122:13
    at _each (C:\Users\leshiple\Google Drive\Web\OpenServer\domains\tyr.local\node_modules\favicons\node_modules\async\lib\async.js:46:13)
    at async.each (C:\Users\leshiple\Google Drive\Web\OpenServer\domains\tyr.local\node_modules\favicons\node_modules\async\lib\async.js:121:9)
    at _asyncMap (C:\Users\leshiple\Google Drive\Web\OpenServer\domains\tyr.local\node_modules\favicons\node_modules\async\lib\async.js:245:13)
    at Object.map (C:\Users\leshiple\Google Drive\Web\OpenServer\domains\tyr.local\node_modules\favicons\node_modules\async\lib\async.js:216:23)
    at _parallel (C:\Users\leshiple\Google Drive\Web\OpenServer\domains\tyr.local\node_modules\favicons\node_modules\async\lib\async.js:565:20)
    at Object.async.parallel (C:\Users\leshiple\Google Drive\Web\OpenServer\domains\tyr.local\node_modules\favicons\node_modules\async\lib\async.js:595:9)
    at setIcons (C:\Users\leshiple\Google Drive\Web\OpenServer\domains\tyr.local\node_modules\favicons\index.js:256:19)
    at C:\Users\leshiple\Google Drive\Web\OpenServer\domains\tyr.local\node_modules\favicons\index.js:29:17
    at fn (C:\Users\leshiple\Google Drive\Web\OpenServer\domains\tyr.local\node_modules\favicons\node_modules\async\lib\async.js:638:34)
    at Immediate._onImmediate (C:\Users\leshiple\Google Drive\Web\OpenServer\domains\tyr.local\node_modules\favicons\node_modules\async\lib\async.js:554:34)
    at processImmediate [as _immediateCallback] (timers.js:358:17)


Если зайти в папку node_modules\gulp-favicons\test\ и запустить задачу там, то в этой папке создается папка images, а в нее попадает куча файлов(изображения и json - файлы), но в index.html пути к самим favicons не создаются.

Что я делаю не так? Помогите разобраться с этой проблемой. Если есть дайте ссылку где подробно расписано как заставить это чудо работать.

UPD Если в gulpfile.js:
var favicons = require('favicons');
поменять на:
var favicons = require('gulp-favicons');
То консоль выдает следующее:

[22:18:59] Using gulpfile ~\Google Drive\Web\OpenServer\domains\tyr.local\gulpfile.js
[22:18:59] Starting 'fav'...
[22:18:59] Finished 'fav' after 26 ms
events.js:87
      throw Error('Uncaught, unspecified "error" event.');
            ^
Error: Uncaught, unspecified "error" event.
    at Error (native)
    at DestroyableTransform.emit (events.js:87:13)
    at done (C:\Users\leshiple\Google Drive\Web\OpenServer\domains\tyr.local\node_modules\gulp-favicons\node_modules\through2\node_modules\readable-stream\lib\_stream_transform.js:183:1
9)
    at C:\Users\leshiple\Google Drive\Web\OpenServer\domains\tyr.local\node_modules\gulp-favicons\node_modules\through2\node_modules\readable-stream\lib\_stream_transform.js:124:9
    at C:\Users\leshiple\Google Drive\Web\OpenServer\domains\tyr.local\node_modules\gulp-favicons\index.js:57:25
    at C:\Users\leshiple\Google Drive\Web\OpenServer\domains\tyr.local\node_modules\gulp-favicons\node_modules\favicons\index.js:92:24
    at Object.ConnectManager.handleResponse (C:\Users\leshiple\Google Drive\Web\OpenServer\domains\tyr.local\node_modules\gulp-favicons\node_modules\favicons\node_modules\node-rest-clie
nt\lib\node-rest-client.js:435:5)
    at Object.ConnectManager.handleEnd (C:\Users\leshiple\Google Drive\Web\OpenServer\domains\tyr.local\node_modules\gulp-favicons\node_modules\favicons\node_modules\node-rest-client\li
b\node-rest-client.js:410:10)
    at IncomingMessage.<anonymous> (C:\Users\leshiple\Google Drive\Web\OpenServer\domains\tyr.local\node_modules\gulp-favicons\node_modules\favicons\node_modules\node-rest-client\lib\no
de-rest-client.js:576:13)
    at IncomingMessage.emit (events.js:129:20)
    at _stream_readable.js:908:16
    at process._tickCallback (node.js:355:11)
  • Вопрос задан
  • 1784 просмотра
Решения вопроса 1
Вы не тот модуль берёте в скрипте
var gulp = require('gulp'), 
  through = require('through2'),
  favicons = require('favicons'); <-- здесь косяк

Должно быть

favicons = require('gulp-favicons');
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы