Gulp внезапно стал выдавать непонятную ошибку при старте проекта, который ранее работал нормально. Я ничего не менял в gulpfile.js, версия ноды та же, поэтому не понимаю, что вызывает эту ошибку. Может ли кто-нибудь просветить меня?
Это связано только с изображениями jpeg. Без них всё good!
Я нагуглил, что это связано с тем, что используется плагины imagemin вместе с кэшем и нужно запустить `
npm rebuild jpegtran-bin`, который перезагрузит его. Не помогает.
Вот ошибка:
[13:24:57] Error: write callback called multiple times
at DestroyableTransform.afterTransform (C:\OSPanel\domains\my-project\node_modules\readable-stream\lib\_stream_transform.js:84:31)
at EventEmitter.<anonymous> (C:\OSPanel\domains\my-project\node_modules\gulp-cache\lib\index.js:451:7)
at EventEmitter.emit (events.js:400:28)
at EventEmitter.emit (domain.js:475:12)
at DestroyableTransform.onError (C:\OSPanel\domains\my-project\node_modules\gulp-cache\lib\index.js:288:15)
at Object.onceWrapper (events.js:520:26)
at DestroyableTransform.emit (events.js:400:28)
at DestroyableTransform.emit (domain.js:475:12)
at C:\OSPanel\domains\my-project\node_modules\through2-concurrent\through2-concurrent.js:41:14
at C:\OSPanel\domains\my-project\node_modules\gulp-imagemin\index.js:102:5
[13:24:57] gulp-imagemin: Minified 0 images
Вот функция таска:
// optimize images
function image_build() {
return gulp.src(path.src.img) // get all images
.pipe(newer(path.build.img)) // have to ensure that only those images that have changed gonna be minified
.pipe(cache(imagemin([ // image compression
imagemin.gifsicle({ interlaced: true }), // gif
jpegrecompress({ // jpg
progressive: true,
max: 90,
min: 80
}),
pngquant(), // png
imagemin.svgo({ plugins: [{ removeViewBox: false }] }) // svg
])))
.pipe(gulp.dest(path.build.img)); // unload final resulting images
}