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
我刚刚更新到节点 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