TL: DR
Gulp 3.*
tidak bekerja pada Node 12.*
atau di atasnya. Anda harus menurunkan Node, atau memutakhirkan Gulp.
Jika Anda kekurangan waktu, turunkan Node ke v11. * Atau di bawahnya; jika Anda memerlukan fitur yang lebih baru, dan punya waktu untuk memperbaiki kemungkinan dependensi yang rusak, tingkatkan Gulp ke 4. * atau lebih tinggi!
Seperti yang telah disebutkan orang lain, Gulp 3.*
tidak didukung di Node 12
atau di atas, jadi Anda harus menurunkan versi Node Anda ke 11.*
atau di bawah, ATAU tingkatkan Gulp ke4.0
.
Opsi terbaik pada akhirnya tergantung pada berapa banyak waktu yang Anda miliki, karena memutakhirkan Gulp membawa manfaat dari gulpfiles yang lebih bersih dan kontrol bawaan untuk menjalankan tugas secara seri atau paralel , tetapi juga bergantung pada Anda menulis ulang gulpfile Anda ke sintaks baru, dan mungkin (baca: mungkin akan - lihat akhir komentar ini) menyebabkan konflik dengan beberapa dependensi.
Menurunkan Node
Ini adalah opsi termudah dan tercepat. Terutama jika Anda menggunakan n atau nvm , karena ini memungkinkan Anda untuk menginstal dan beralih antar versi Node dengan sangat cepat.
Menginstal versi Node pada N
n 10.16.0
Menginstal versi Node pada NVM
nvm install 10.16.0
Setelah Anda selesai melakukannya, Anda mungkin perlu membangun kembali dependensi npm Anda atau menghapus node_modules
folder DAN package-lock.json
file Anda dan menginstal ulang dependensi Anda. Meskipun jika Anda hanya kembali ke versi Node yang sudah ada sebelumnya, Anda mungkin akan baik-baik saja.
Memutakhirkan Gulp
Seperti disebutkan di atas, ini adalah tugas yang lebih intensif waktu, tetapi mungkin membawa manfaat dalam jangka panjang. Misalnya, Node 12
kini telah memperkenalkan dukungan asli untuk Modul ES (di belakang bendera eksperimental) dan dukungan penuh di Node 13
.
Anda mungkin perlu memutakhirkan Node untuk menggunakannya, memaksa Anda untuk memperbarui Gulp. Atau Anda mungkin hanya ingin manfaat menggunakan Gulp 4, karena menawarkan kontrol yang lebih baik dan lebih efisien atas tugas menulis.
Sudah ada beberapa artikel tentang ini, jadi saya tidak akan menguraikan lebih lanjut tentang spesifikasinya, tetapi untuk mengulangi - ini bukan pekerjaan cepat . Tergantung pada ukuran proyek Anda, mungkin ada beberapa penulisan ulang yang diperlukan, dan Anda mungkin memiliki dependensi yang terputus. Jika Anda kekurangan waktu, Anda harus memilih untuk hanya menurunkan Node, setidaknya untuk sementara.
Tetapi saya sudah memiliki Gulp 4, dan masih tidak berhasil!
Jika, seperti saya, Anda sudah menggunakan Gulp 4+ (Saya menggunakan Gulp 4.0.2
, awalnya pada Node 10) dan baru-baru ini ditingkatkan (saya ditingkatkan keNode 13.8.0
) jika Anda masih mendapatkan masalah, itu mungkin karena ketergantungan bergantung pada versi lama Gulp, dan itu sedang terjebak dalam pipa.
Dalam kasus saya, gulp-combine-mq
adalah ketergantungan menggunakan Gulp3.9.*
. Menonaktifkan tugas ini di gulpfile saya memungkinkan Gulp dijalankan lagi.
Jika ini terjadi, Anda memiliki beberapa opsi: Anda dapat,
- Pergi tanpa plugin jika itu tidak mutlak diperlukan
- Temukan alternatif,
- Perbaiki plugin
Tak perlu dikatakan, jika Anda memiliki beberapa plugin yang bergantung pada versi Gulp yang lebih lama - terutama jika plugins ini sangat penting untuk aplikasi Anda - ini adalah di mana ada sejumlah besar waktu yang dihabiskan untuk memperbarui Gulp (karena itu peringatan di atas).
Jika ini terjadi, yang terbaik adalah hanya downgrade Node, setidaknya sampai tambalan dapat dikeluarkan.