Vextor-ltd
@Vextor-ltd
Webdeveloper

Как пофиксить ошибку 'write callback called multiple times' при старте проекта?

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
}
  • Вопрос задан
  • 27 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы