J'ai installé des modules de noeud par npm install, puis j'ai essayé de faire gulp sass-watch dans l'invite de commande. Après cela, j'ai reçu la réponse ci-dessous.
[18:18:32] Requiring external module babel-register
fs.js:27
const { Math, Object, Reflect } = primordials;
^
ReferenceError: primordials is not defined
J'ai essayé avant de gorger sass-watch
npm -g install gulp-cli
webshot
package de noeud. Je soupçonne qu'ils doivent mettre à jour quelque chose de leur côté avant de pouvoir continuer avec Node v12.v12.1.0
et gulp[email protected]
mais cela ne fonctionne pasv10.x
et gulpv3.x
, puis la magie est arrivéeNous avons rencontré le même problème lors de la mise à jour d'un projet hérité en fonction
[email protected]
de Node.js 12.Ces correctifs vous permettent d'utiliser Node.js 12 avec
[email protected]
en remplaçant lagraceful-fs
version4.2.3
.Si votre projet n'est pas activement travaillé et que vous utilisez npm
Créez un
npm-shrinkwrap.json
fichier contenant ceci:Validez ce
npm-shrinkwrap.json
fichier. Et puis exécuteznpm install
ce qui mettra à jour lenpm-shrinkwrap.json
fichier.Malheureusement, cette solution ne fonctionne plus si vous
npm install
recommencez. Voir les autres solutions ci-dessous.Si votre projet est en développement actif et que vous utilisez Yarn v1
Yarn v1 prend en charge la résolution d'un package dans une version définie . Vous devez ajouter une
resolutions
section à votrepackage.json
:Merci @jazd pour cette façon de résoudre le problème.
Si votre projet est en développement actif et que vous utilisez npm
En utilisant
npm-force-resolutions
un script de préinstallation, vous pouvez obtenir un résultat similaire à celui de Yarn v1. Vous devez modifier votre package.json de cette façon:npm-force-resolutions
modifiera lepackage-lock.json
fichier pour définirgraceful-fs
la version souhaitée avant la fininstall
.Si vous utilisez un
.npmrc
fichier personnalisé dans votre projet et qu'il contient un proxy ou un registre personnalisé, vous devez passernpx npm-force-resolutions
ànpx --userconfig .npmrc npm-force-resolutions
car, pour l'instant,npx
n'utilise pas le.npmrc
fichier de dossier actuel par défaut.Origine du problème
Ce problème provient du fait que cela
[email protected]
dépend du modulegraceful-fs@^3.0.0
monkeypatches Node.js.fs
Cela fonctionnait avec Node.js jusqu'à la version 11.15 (qui est une version d'une branche de développement et ne devrait pas être utilisée en production).
graceful-fs@^4.0.0
ne monkeypatchfs
plus le module Node.js , ce qui le rend compatible avec Node.js> 11.15.Notez que ce n'est pas une solution pérenne mais cela aide lorsque vous n'avez pas le temps de passer à
gulp@^4.0.0
.la source
npm install
pour me régénérerpackage-lock.json
ounpm-shrinkwrap.json
, il semblait ne pas pouvoir verrouiller ces dépendances. Après avoir relancénpm install --no-save
, le générépackage-lock.json
indique toujours npm pour installer les dépendances manquantes.Utilisez les commandes suivantes et installez le nœud v11.15.0 :
va résoudre
Référé de @Terje Norderhaug @Tom Corelis réponses.
la source
Réparez-le en 1 minute:
Suivez simplement ces étapes . Je suis sur Windows 10 et cela a parfaitement fonctionné pour moi!
package.json
créé unnpm-shrinkwrap.json
fichier avec le contenu suivant:Exécutez
npm install
, et ne vous inquiétez pas, il se mettra à journpm-shrinkwrap.json
avec un tas de contenu.Exécutez
gulp
pour démarrer le projet.la source
Utilisez les commandes suivantes pour installer
node v11.15.0
etgulp v3.9.1
:Résoudra ce problème:
la source
Utiliser NVM pour gérer la version de noeud que vous utilisez, exécuter les commandes suivantes a fonctionné pour moi:
la source
10
place du nom de code.Gulp 3.9.1 ne fonctionne pas avec Node v12.xx, et si vous mettez à niveau vers Gulp 4.0.2, vous devez complètement changer gulpfile.js avec la nouvelle syntaxe (Series & Parallels). Donc, votre meilleur pari est de passer à Node V 11.xx, le 11.15.0 a bien fonctionné pour moi. En utilisant simplement le code suivant dans le terminal:
À votre santé!
la source
avait même erreur et enfin correctif lorsque mis à jour tous les paquets et mentionné la même version du moteur de noeud et la version NPM en
package.json
tant qu'il est dans mon système de travail local.J'obtenais cette erreur lors du déploiement sur Heroku.
pour plus de support sur heroku checkout
la source
La rétrogradation vers le nœud stable a résolu ce problème pour moi, car il s'est produit après la mise à niveau vers le nœud 12
sudo n 10.16.0
la source
n
abord avec: 'npm install -g n'TL: DR
Gulp
3.*
ne fonctionne pas sur Node12.*
ou supérieur. Vous devez rétrograder Node ou mettre à niveau Gulp.Comme d'autres l'ont déjà mentionné, Gulp
3.*
n'est pas pris en charge sur Node12
ou supérieur, vous devrez donc rétrograder votre version Node vers11.*
ou ci-dessous, OU mettre à niveau votre Gulp vers4.0
.La meilleure option dépend en fin de compte du temps dont vous disposez, car la mise à niveau de Gulp apporte des avantages de fichiers Gulp plus propres et un contrôle intégré sur l'exécution des tâches en série ou en parallèle , mais dépend également de la réécriture de votre fichier Gulp dans une nouvelle syntaxe, et pourrait (lire: probablement - voir la fin de ce commentaire) provoquer des conflits avec certaines dépendances.
Nœud de déclassement
C'est l'option la plus simple et la plus rapide. Surtout si vous utilisez n ou nvm , car ceux-ci vous permettent d'installer et de basculer très rapidement entre les versions de Node.
Installation de la version du nœud sur N
Installation de la version de Noeud sur NVM
Une fois que vous avez fait cela, vous devrez peut- être reconstruire vos dépendances npm ou supprimer à la fois votre
node_modules
dossier ET votrepackage-lock.json
fichier et réinstaller vos dépendances. Bien que si vous revenez simplement à une version de nœud préexistante, cela devrait probablement aller.Mise à niveau de Gulp
Comme mentionné ci-dessus, il s'agit d'une tâche plus longue, mais qui pourrait apporter des avantages à long terme. Par exemple, Node
12
a désormais introduit la prise en charge native des modules ES (derrière un drapeau expérimental) et une prise en charge complète dans Node13
.Vous devrez peut-être mettre à niveau Node pour l'utiliser, ce qui vous obligera à mettre à niveau Gulp. Ou vous pouvez simplement souhaiter les avantages de l'utilisation de Gulp 4, car il offre un contrôle meilleur et plus efficace sur les tâches d'écriture.
Il y a déjà un certain nombre d'articles à ce sujet, donc je ne développerai pas davantage sur les détails, mais pour réitérer - ce n'est pas un travail rapide . Selon la taille de votre projet, une réécriture importante peut être requise et des dépendances peuvent se briser. Si vous manquez de temps, vous devriez opter pour une simple rétrogradation de Node, 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 10) et avez récemment mis à niveau (j'ai mis à niveau versNode 13.8.0
), vous rencontrez toujours le problème, c'est peut-être parce qu'une dépendance dépend d'un ancienne version de Gulp, et qui se fait prendre dans le pipeline.Dans mon cas,
gulp-combine-mq
était une dépendance utilisant Gulp3.9.*
. La désactivation de cette tâche dans mon gulpfile a permis à Gulp de s'exécuter à nouveau.Si cela se produit, vous avez quelques options: vous pouvez,
Inutile de dire que si vous avez plusieurs plugins qui s'appuient sur une ancienne version de Gulp - en particulier si ces plugins sont essentiels pour votre application - c'est là qu'il peut y avoir un énorme temps supplémentaire consacré à la mise à niveau de Gulp (d'où les avertissements ci-dessus).
Si cela se produit, il est préférable de simplement rétrograder le nœud, au moins jusqu'à ce que des correctifs puissent être émis.
la source
Cette erreur est due à la nouvelle version de Node (12) et à une ancienne version de gulp (moins de 4).
La rétrogradation de Node et d'autres dépendances n'est pas recommandée. J'ai résolu ce problème en mettant à jour le
package.json
fichier récupérant la dernière version de toutes les dépendances. Pour cela, j'utilisenpm-check-updates
. Il s'agit d'un module qui met à jour lapackage.json
avec la dernière version de toutes les dépendances.Référence : https://www.npmjs.com/package/npm-check-updates
Dans la plupart des cas, nous devrons mettre à jour le
gulpfile.js
ainsi que le suivant:Référence : https://fettblog.eu/gulp-4-parallel-and-series/#migration
Avant:
Après:
la source
J'obtenais cette erreur sur Windows 10. Il s'est avéré être un profil d'itinérance corrompu.
La suppression du
C:\Users\{user}\AppData\Roaming\npm
dossier a résolu mon problème.la source
Suivez simplement ces étapes. Cela a parfaitement fonctionné avec l'installation de npm exécutée plusieurs fois ou l'installation de tout autre module ou même la publication d'un projet sur artificiel.
Dans le même répertoire où vous avez package.json, créez un fichier npm-shrinkwrap.json avec le contenu suivant:
Exécutez npm install, et ne vous inquiétez pas, cela mettra à jour npm-shrinkwrap.json avec un tas de contenu. Débarrassons-nous de ces mises à jour en mettant à jour les options des scripts package.json .
Vous pouvez maintenant exécuter npm install et votre npm-shrinkwrap.json sera intact et fonctionnera pour toujours.
la source
Cela est peut-être arrivé en retard, mais pour ceux qui souhaitent toujours conserver leur Node v12 lors de l'utilisation de la dernière version de gulp ^ 4.0, procédez comme suit:
Mettez à jour l'interface de ligne de commande (juste par précaution) en utilisant:
Ajoutez /
gulp
mettez à jour la section under dependencies de votre package.jsonSupprimez votre
package-lock.json
fichierSupprimez votre
node_modules
dossierEnfin,
npm i
exécutez pour mettre à niveau et recréer le tout nouveau dossier node_modules et le fichier package-lock.json avec les paramètres corrects pour Gulp ^ 4.0Remarque Gulp.js 4.0 introduit les méthodes
series()
etparallel()
pour combiner les tâches au lieu des méthodes de tableau utilisées dans Gulp 3, et vous pouvez donc ou non rencontrer une erreur dans votre anciengulpfile.js
script.Pour en savoir plus sur l'application de ces nouvelles fonctionnalités, ce site y a vraiment rendu justice: https://www.sitepoint.com/how-to-migrate-to-gulp-4/
( Si cela aide, veuillez laisser un coup de poing )
la source
gulp-cli
sert? J'ai suivi vos pas et j'ai tout fait fonctionner au début; mais ensuite j'ai désinstallégulp-cli
(puisque je n'ai pas vu où il était utilisé), et tout fonctionnait toujours. Merci pour la réponse, car je suis à nouveau opérationnel avec nodev12.9.1
et Gulp4.0.2
!gulp-cli
est l'utilitaire de ligne de commande. Son assure une installation correcte de gulp Comme vous pouvez le voir dans les étapes d'installation de gulpJ'ai résolu ce problème sur Windows 10 en désinstallant le nœud de Ajouter ou supprimer des programmes -> Node.js
J'ai ensuite installé la version 11.15.0 à partir de https://nodejs.org/download/release/v11.15.0/
Choisissez node-v11.15.0-x64.msi si vous exécutez Windows 64 bits.
la source
Gulp pose problème avec Nodejs version 11 et supérieure. Désinstallez votre version actuelle du nœud et réinstallez la v10.15.1 voici le lien pour cette version. Cela m'aide et résoudra également votre problème.
https://nodejs.org/download/release/v10.15.1/
la source
J'ai fait face au même problème. Ce que j'ai essayé et travaillé pour moi:
Vérifiez la version de NODE et GULP (la combinaison de noeud v12 et gulp inférieure à v4 ne fonctionne pas)
Je rétrograde la version NPM en:
Cela a bien fonctionné, puis suivez simplement les instructions de votre console.
la source
Mettez à niveau vers 4.0.1 et assurez-vous de migrer https://fettblog.eu/gulp-4-parallel-and-series/#migration
la source
Pour ceux qui utilisent
yarn
.la source
Pour toute personne ayant la même erreur pour la même raison dans ADOS CI Build:
Cette question a été la première que j'ai trouvée en cherchant de l'aide. J'ai un pipeline de construction ADOS CI où la première tâche d'installation de l'outil Node.js est utilisée pour installer Node. Ensuite, la tâche npm est utilisée pour installer gulp (npm install -g gulp). Ensuite, la tâche Gulp suivante exécute la tâche par défaut à partir de gulpfile.js. Il y a des trucs stupéfiants dedans.
Quand j'ai changé l'outil Node.js pour installer le dernier nœud 12.x au lieu d'un ancien et la dernière version de gulp était 4.0.2. Le résultat a été la même erreur que celle décrite dans la question.
Ce qui a fonctionné pour moi dans ce cas a été de rétrograder node.js vers la dernière version 11.x comme cela a déjà été suggéré par Alphonse R. Dsouza et Aymen Yaseen. Dans ce cas, il n'est pas nécessaire d'utiliser les commandes suggérées, mais définissez plutôt la spécification de version du programme d'installation de l'outil Node.js sur la dernière version de Node de 11.x.
La version exacte de Node.js qui a été installée et fonctionne était 11.15.0. Je n'ai pas eu à déclasser le Gulp.
la source
J'ai rencontré cette erreur après la mise à niveau de mon nœud vers la version 12, qui ne fonctionne pas avec Gulp 3.9.1. En ce qui concerne le fait que mon gulpfile.js n'était pas si complexe, j'ai décidé de passer à Gulp 4 à l'aide de cet article , cela s'est bien passé et c'est beaucoup plus facile que je ne le pensais.
la source
Vous avez deux options ici
la source
En effet, le problème de compatibilité entre
node
etgulp
dans votre système. La rétrogradationnode
ou la mise à niveau dugulp
corrigera ce problème.Essayez de supprimer le
node_modules
dossier et lepackage-lock.json
fichier et de réinstaller à l'aide de lanpm i
commande si cela ne fonctionne toujours pas.la source
Ce qui a fonctionné pour moi, c'est d'utiliser python2 lors de l'installation de npm.
la source
Comme nous obtenons également cette erreur lorsque nous utilisons le package s3 NPM. Le problème est donc avec le package graceful-fs, nous devons le mettre à jour. Cela fonctionne bien sur 4.2.3.
Il suffit donc de regarder dans quel package NPM il affiche dans les traces de journaux et de mettre à jour le graceful-fs en conséquence à 4.2.3.
la source
J'obtenais également une erreur sur le nœud 12/13 avec Gulp 3, le passage au nœud 11 a fonctionné.
la source
Résolu en rétrogradant la version Node.js de
12.14.0
vers10.18.0
et en réinstallantnode_modules
.la source
Si vous essayez d'installer
semantic-ui
et que l'erreur suivante se produit, essayez de télécharger la dernière version du nœudjs(13.5.0)
avec les dernières fonctionnalités, à partir de Node.js.org.En outre, plutôt que d'essayer la sémantique d'installation de NPM, vous devez simplement ajouter le lien (que vous pouvez trouver du lien cdnjs vers l'en-tête de votreindex.html
fichier. Bonne chance!la source
Étapes pour résoudre le problème: -
J'ai résolu le problème avec les étapes suivantes: -
Maintenant, vous pouvez vous déployer gulp
la source
Je vous suggère d'abord de vous assurer que l' installation de NPM n'est pas votre problème. Ensuite, vous rétrogradez les versions de nœud et de gulp. J'ai utilisé le nœud 10.16.1 et gulp 3.9.1.
Pour rétrograder votre gorgée, vous pouvez essayer
la source