Gulp: ошибка сегментации 11 после обновления Node 4.0
Я только что обновился до Node 4.
Когда я запускаю Gulp, я вижу:
Ошибка сегментации: 11
My включает в себя:
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');
Я не могу запустить задачу отладки. Verbose не выплевывает ничего дополнительного.
Мысли?
Ответы
Ответ 1
Я также обновляю до Node 4.0 и получаю ошибку сегментации на моем сервере Node. Я просто удаляю каталог node_modules и повторно запускаю npm install
, и это нормально.
Поэтому я подозреваю, что это связано с тем, что новая версия npm имеет проблемы с загрузкой некоторых модулей, установленных старыми npm --- но только для некоторых модулей, нормально запускать npm start
после обновления на других моих серверах. Я не зашел глубоко в это.
Как быстро исправить, я думаю, вы можете попробовать это в своих зависимостях.
Ответ 2
Предложение удалить node_modules
, а затем запустить npm install
является хорошим. Это будет работать. Тем не менее, более эффективно, возможно, просто запустить npm rebuild
без удаления node_modules
или запустить npm install
. Он будет повторно компилировать собственные модули для новой версии Node/V8, которую вы установили, без необходимости загружать все файлы снова.
Но если все остальное не выполнено:
- Удалите каталог node_modules
-
npm cache clean && npm install
-
npm uninstall -g gulp && npm install -g gulp
Ответ 3
Недавно я столкнулся с этой проблемой и предпринял следующие шаги:
$ npm cache clean && npm install
Но все еще виноват. Даже после удаления всех файлов и запуска
$ npm install
Итак, сделал несколько более укорененных пользователей и обнаружил, что существует проблема, при которой некоторые из модулей node имели файлы, заканчивающиеся на .info, что вызвало Drupal (в котором я использую эту структуру), чтобы попытаться прочитать .info как файл theme.info. Переименование этих файлов (с другим окончанием) устранило проблему.
Хотя моя проблема с Drupal-спецификой, я мог бы представить, что подобные проблемы возникают и на других фреймворках.
Ответ 4
В моем случае проблема заключалась в том, что у меня установлен Node v5.9.0. Поэтому я понизился до версии 4.4.1-LTS и, наконец, снова заработал:
Использование Homebrew:
$ brew tap homebrew/versions
$ brew install homebrew/versions/node4-lts
И затем:
$ npm rebuild
Ответ 5
Я снова сталкиваюсь с этой ошибкой. Примерно через час поиска переустановите целые node.js, все плагины и gulp и очистите кэш NPM, не решая его. Я попытался вернуться несколько степей в свой файл SASS.
И исправил его. Но это не было ошибкой или переменной в коде, но я сделал это выражение в своем файле:
a
transition: all 0.5s ease-in-out
&:hover, &:focus
transition: all 0.5s ease-in-out
Пытался сделать это снова и снова, что произошла ошибка. На самом деле не знаю, почему. Когда я использую этот оператор, вложенный в класс или другой тег, он работает правильно.
Ответ 6
Пожалуйста, удалите проект node_modules из проекта и сделайте npm install