TL:DR
Gulp 3.*
ne fonctionne pas sur Node.js 12.*
ou plus. Vous devez mettre à jour Node.js, ou mettre à jour Gulp.
Si vous manquez de temps, passez à la version 11.* de Node.js ou à une version inférieure ; si vous avez besoin de fonctionnalités plus récentes et que vous avez le temps de corriger un grand nombre de dépendances défectueuses, passez à la version 4.* de Gulp ou à une version supérieure !
Comme d'autres l'ont déjà mentionné, Gulp 3.* n'est pas supporté par Node.js 12 ou supérieur, vous devrez donc rétrograder votre version de Node à 11.* ou inférieur, OU mettre à jour votre Gulp à 4.0.
La meilleure option dépend en fin de compte du temps dont vous disposez, car la mise à niveau de Gulp offre les avantages de gulpfiles plus propres et d'un contrôle intégré sur l'exécution des tâches en en série ou en parallèle mais il faut aussi que vous réécriviez votre fichier gulpfile en fonction d'une nouvelle syntaxe. pourrait (lire : probablement - voir la fin de ce commentaire) causer des conflits avec certaines dépendances.
Rétrogradation de Node.js
C'est l'option la plus simple et la plus rapide. Surtout si vous utilisez n o nvm car ils vous permettent d'installer et de passer très rapidement d'une version de Node.js à une autre.
Installation de la version de Node.js sur N
n 10.16.0
Installation d'une version de Node.js sur NVM
nvm install 10.16.0
Une fois que vous avez fait cela, vous mai besoin de reconstruire votre dépendances npm ou alternativement, supprimez vos deux node_modules
dossier y votre package-lock.json
et réinstaller vos dépendances. Cependant, si vous revenez simplement à une version préexistante de Node.js, vous devriez probablement vous en sortir.
Mise à jour de Gulp
Comme indiqué plus haut, il s'agit d'une tâche plus longue, mais qui peut s'avérer bénéfique à long terme. Par exemple, Node.js 12 a maintenant introduit un support natif pour les modules ES (derrière un drapeau expérimental) et un support complet dans Node.js 13.
Vous devrez peut-être mettre à jour Node.js pour l'utiliser, ce qui vous obligera à mettre à jour Gulp. Ou bien vous souhaitez simplement bénéficier des avantages de Gulp 4, car il offre un contrôle meilleur et plus efficace des tâches d'écriture.
Il existe déjà un certain nombre d'articles à ce sujet, je ne m'étendrai donc pas davantage sur les détails, mais je tiens à rappeler que ce n'est pas un travail rapide . Selon la taille de votre projet, il se peut qu'une réécriture importante soit nécessaire et que des dépendances soient rompues. Si vous manquez de temps, vous devriez opter pour une simple mise à niveau de Node.js, au moins temporairement.
Mais j'ai déjà Gulp 4, et ça ne marche toujours pas !
Si, comme moi, vous utilisez déjà Gulp 4+ (j'utilisais Gulp 4.0.2
(à l'origine sur Node.js 10) et que vous avez récemment effectué une mise à niveau (j'ai effectué une mise à niveau vers Node.js 13.8.0), si vous rencontrez toujours le problème, c'est peut-être parce qu'une dépendance repose sur une ancienne version de Gulp, et qu'elle est prise dans le pipeline.
Dans mon cas, gulp-combine-mq
était une dépendance en utilisant Gulp 3.9.*. La désactivation de cette tâche dans mon gulpfile a permis à Gulp de fonctionner à nouveau.
Si cela se produit, vous avez quelques options. Vous pouvez,
- Renoncez au plugin s'il n'est pas absolument nécessaire.
- Trouvez une alternative,
- Corriger le plugin
Il va sans dire que si vous avez plusieurs plugins qui dépendent d'une ancienne version de Gulp - surtout si ces plugins sont vitaux pour votre application - la mise à jour de Gulp peut représenter une énorme quantité de temps supplémentaire (d'où les avertissements ci-dessus).
Si cela se produit, il est préférable de simplement rétrograder Node.js, au moins jusqu'à ce que des correctifs puissent être publiés.
0 votes
Désinstaller le nœud et le réinstaller en utilisant le lien donné. nodejs.org/fr/download
0 votes
Essayez cette méthode rapide ici thecodemon.com/referenceerror-primordials-is-not-defined