883 votes

Comment corriger "ReferenceError : primordials is not defined" en Node.js

J'ai installé les modules Node.js par 'npm install', puis j'ai essayé de faire ce qui suit gulp sass-watch dans une invite de commande. Après cela, j'ai obtenu 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 déjà essayé ceci gulp sass-watch :

npm -g install gulp-cli

0 votes

Désinstaller le nœud et le réinstaller en utilisant le lien donné. nodejs.org/fr/download

0 votes

16voto

Ravi Anand Points 1319

J'ai eu la même erreur. J'ai finalement résolu le problème en mettant à jour tous les paquets et en mentionnant la même version du moteur Node.js et version de npm en package.json tel qu'il est dans mon système de travail local.

 "engines": {
    "node": "10.15.3",
    "npm": "6.9.0"
 }

J'ai obtenu cette erreur en déployant sur Heroku .

Pour en savoir plus, consultez Support Heroku .

10voto

Olshansk Points 577

Vérifiez la version de Node.js :

 node --version

Vérifiez la version de gulp :

gulp -v

Si Node.js >=12 et gulp <= 3, faites l'une des choses suivantes :

  1. Mettre à jour gulp

    sudo npm install -g gulp

  2. Nœud de rétrogradation

    sudo npm install -g n sudo n 11.15.0

Comment mettre à niveau (ou rétrograder) Node.js en utilisant npm

8voto

Mahdi Points 154

Au cas où le problème ne proviendrait pas gulp puis vérifiez le dézipper module npm. Cela fait environ six ans qu'il n'a pas été mis à jour. Il ne fonctionne pas avec Node.js > v11.

Essayez ça :

npm install -g n

sudo n 11.15.0

6voto

Tom Corelis Points 1873

La rétrogradation vers Node.js stable a réglé ce problème pour moi, car il s'est produit après la mise à niveau vers Node.js 12 :

sudo n 10.16.0

6voto

Rijo K P Points 775

Cette erreur est due à la nouvelle version de Node.js (12) et une ancienne version de Gulp (moins de 4).

La mise à niveau de Node.js et d'autres dépendances n'est pas recommandée. J'ai résolu ce problème en mettant à jour package.json en récupérant la dernière version de toutes les dépendances. Pour cela, j'utilise npm-check-updates . Il s'agit d'un module qui met à jour le package.json avec la dernière version de toutes les dépendances.

Référence : https://www.npmjs.com/package/npm-check-updates

npm i -g npm-check-updates
ncu -u
npm install

Dans la plupart des cas, nous devrons mettre à jour le fichier gulpfile.js ainsi que les suivantes :

Référence : Gulp 4 : Le nouveau système d'exécution des tâches - gulp.parallel et gulp.series, Migration

Avant :

gulp.task(
    'sass', function () {
        return gulp.src([sourcePath + '/sass/**/*.scss', "!" + sourcePath + "/sass/**/_*.scss"])

            ....
    }
);

Other configuration...

gulp.task(
    'watch', function () {
        gulp.watch(sourcePath + '/sass/**/*.scss', ['sass']);
    }
);

Après :

gulp.task('sass', gulp.series(function(done) {
    return gulp.src([sourcePath + '/sass/**/*.scss', "!" + sourcePath + "/sass/**/_*.scss"])

            ...

    done();
}));

Other config...

gulp.task(
    'watch', function () {
        gulp.watch(sourcePath + '/sass/**/*.scss', gulp.series('sass'));
    }
);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X