Ошибка "TypeError: dest.on is not a function" может возникнуть при использовании несовместимых версий плагинов Gulp или при передаче несовместимых аргументов функции dest().
Основная причина возникновения этой ошибки - в Gulp версии 4.x были внесены изменения в API, что может вызывать проблемы с кодом, написанным для более ранних версий Gulp.
Вероятно, ошибка возникает из-за неверного использования функции dest(). В старых версиях Gulp, dest() принимал только путь к директории назначения как аргумент, например:
gulp.dest('build/')
В Gulp 4.x, dest() более не ожидает строку-аргумента, а ожидает, что вы будете использовать объект-поток Vinyl (файлы):
gulp.dest('build/')
Также, версия 4.x Gulp требует наличия методов pipe() после dest(), если вы хотите связать несколько задач Gulp:
gulp.src('src/**/*.js')
.pipe(gulp.dest('build/'))
.pipe(babel())
.pipe(gulp.dest('dist/'))
Возможно, у вас установлена старая версия плагина Gulp или другого плагина, который несовместим с новым Gulp. Проверьте файл package.json на наличие установленных плагинов и совместимые с Gulp 4.x версии.
Для устранения этой ошибки, сначала обновите Gulp и проверьте совместимость плагинов. Если это не помогает, проверьте вызовы функции dest() и убедитесь, что они корректно передают объект-поток Vinyl.
Также, проверьте, что у вас нет других конфликтующих плагинов Gulp, которые могут вызывать эту ошибку. Если проблема не решена, вы можете обратиться к документации плагина Gulp или задать вопрос на форуме Gulp.js для получения дополнительной помощи.