2015-09-09 3 views
17

Je viens mis à jour au noeud 4.Gulp: Segmentation Fault 11 après Node 4.0 mise à jour

Quand je lance Gulp, je vois:

Segmentation fault: 11

Mon comprend:

var gulp = require('gulp'); 

var jscs = require('gulp-jscs'); 
var concat = require('gulp-concat'); 
var uglify = require('gulp-uglify'); 
var rename = require('gulp-rename'); 
var responsive = require('gulp-responsive'); 
var imagemin = require('gulp-imagemin'); 
var jpegtran = require('imagemin-jpegtran'); 
var rollup = require('gulp-rollup'); 
var webp = require('gulp-webp'); 
var spritesmith = require('gulp.spritesmith'); 

Je ne parviens pas à exécuter une tâche de débogage. Verbose ne crache rien de plus.

Pensées?

+2

Retirez votre répertoire 'node_modules', puis exécutez' cache NPM propre && NPM install'. Enfin, «npm uninstall -g gulp && npm install -g gulp». – Trott

Répondre

18

Je mets également à jour le nœud 4.0 et j'obtiens aussi une erreur de segmentation sur mon serveur de noeud. Je supprime simplement mon répertoire node_modules et relance npm install, et ça va.

Je suppose que c'est parce que la nouvelle version de npm a du mal à charger certains modules installés par l'ancien npm --- mais seulement pour certains modules, il est possible d'exécuter directement npm start après la mise à jour sur mes autres serveurs. Je ne suis pas allé au fond de tout ça.

Comme une solution rapide, je pense que vous pouvez essayer cela sur vos propres dépendances.

11

La suggestion de supprimer node_modules puis d'exécuter npm install est bonne. Ça va marcher. Un peu plus efficace, cependant, pourrait être simplement courir npm rebuild sans supprimer node_modules ou en cours d'exécution npm install. Il recompilera les modules natifs pour la nouvelle version de Node/V8 que vous avez installée sans avoir à télécharger à nouveau tous les fichiers.

Mais si tout le reste échoue:

  • Retirez votre répertoire node_modules
  • npm cache clean && npm install
  • npm uninstall -g gulp && npm install -g gulp
+0

Mon expérience est que cela ne fonctionne pas. –

+1

Pouvez-vous être plus précis que "cela ne fonctionne pas"? – Trott

+0

Downvote parce que ... ??? – Trott

1

Mon cas, le problème était que j'avais v5.9.0 nœud installé. Donc, je rétrogradé à V4.4.1-LTS et a finalement obtenu fonctionner à nouveau:

En utilisant Homebrew:

$ brew tap homebrew/versions 
$ brew install homebrew/versions/node4-lts 

Et puis:

$ npm rebuild 
3

Je suis tombé sur cette question récemment, et attenté à la étapes montrées ci-dessus:

$ npm cache clean && npm install 

Mais était toujours la faute. Même après la suppression de tous les fichiers et l'exécution

$ npm install 

Alors, est-ce un peu plus d'enracinement, et a constaté qu'il y avait un problème dans lequel certains des modules de noeud avaient un fichiers se terminant par .info, qui a causé Drupal (dans lequel je m exécutant ce framework) pour essayer de lire les fichiers .info comme le fichier theme.info. Renommer ces fichiers (avec une fin différente) a corrigé le problème.

Bien que mon problème spécifique à Drupal, je pourrais imaginer des problèmes similaires sur d'autres frameworks.

1

Je rencontre encore ce bug aujourd'hui. Après environ une heure de recherche, en réinstallant node.js entier, tous les plugins et gulp et nettoyant le cache de NPM, sans le résoudre. J'ai essayé de remonter quelques steppes dans mon fichier SASS.

Et l'a corrigé. Mais il n'a pas été par une erreur ou variable dans le code, mais je fait cette déclaration à mon dossier:

Essayé de faire ce bug est survenue encore et encore. Vraiment je ne sais pas pourquoi. Lorsque j'utilise cette instruction imbriquée dans une classe ou une autre balise, elle fonctionne correctement.

+0

Vous pourriez vouloir faire un bug avec node-sass sur Gitub si c'est votre processeur. –

+0

Correction du problème en mettant à jour la dépendance de gulp-sass à la version la plus récente. – cdauth

0

S'il vous plaît, supprimez vos node_modules de projet et faire npm install