Gulp: Node 4.0 更新后的 Segmentation Fault 11

Gulp: Segmentation Fault 11 after Node 4.0 update

我刚刚更新到节点 4。

当我运行Gulp时,我看到:

Segmentation fault: 11

我的包括:

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');

我无法获得 运行 的调试任务。详细不会吐出任何额外的内容。

想法?

我也更新到 Node 4.0 并且在我的节点服务器上也出现分段错误。我只是删除了我的node_modules目录,然后重新运行npm install,就可以了。

所以我怀疑是因为新版本的npm无法加载旧npm安装的一些模块---但是对于一些模块,直接运行 npm start在我的其他服务器上更新后。这个我没深究。

作为快速修复,我认为您可以在自己的依赖项上尝试这个。

建议删除node_modules然后删除运行npm install是一个很好的建议。它会起作用。不过,更有效的方法可能是 运行 npm rebuild 而不是删除 node_modules 或 运行ning npm install。它将为您安装的新版本 Node/V8 重新编译本机模块,而无需再次下载所有文件。

但如果一切都失败了:

  • 删除您的 node_modules 目录
  • npm cache clean && npm install
  • npm uninstall -g gulp && npm install -g gulp

我的情况是我安装了 Node v5.9.0。所以我降级到 v4.4.1-LTS 并终于让它再次工作:

使用自制软件:

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

然后:

$ npm rebuild

我最近 运行 遇到了这个问题,并尝试了上面显示的步骤:

$ npm cache clean && npm install

但还是出错了。即使在删除所有文件和 运行

之后
$ npm install

所以,做了一些更多的生根,发现有一个问题,一些节点模块有一个以 .info 结尾的文件,这导致了 Drupal(我在其中 运行 这个框架)尝试将 .info 文件作为 theme.info 文件读取。重命名这些文件(使用不同的结尾)解决了这个问题。

虽然我的问题是 Drupal 特有的,但我可以想象类似的问题也会出现在其他框架上。

我 运行 今天又遇到了这个错误。找了一个多小时,重装了整个node.js,所有插件和gulp,清理了NPM缓存,也没解决。我试图在我的 SASS 文件中返回几个草原。

并修复了它。但这不是代码中的错误或变量,而是我对我的文件做了这样的声明:

a
   transition: all 0.5s ease-in-out

   &:hover, &:focus
       transition: all 0.5s ease-in-out

试图一次又一次地使错误发生。真的不知道为什么。当我使用嵌套在 class 或其他标记中的此语句时,它工作正常。

请从项目中删除您的 node_modules 并执行 npm install