首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一直收到libsass错误

一直收到libsass错误
EN

Stack Overflow用户
提问于 2015-11-09 11:24:28
回答 1查看 631关注 0票数 1

我像往常一样编写代码,做简单的scss (没什么花哨的东西,向div添加动画),这时我开始得到

代码语言:javascript
复制
segmentation fault (core dumped) gulp

我删除了我的node_modules,做了一个npm-install,没有任何变化。

我见过很多人成功地做到了这一点,但我做不到。

出于某种原因,它在这里寻找一个libsass弯曲者:

代码语言:javascript
复制
node_modules/gulp-sass/node_modules/node-sass/vendor/linux-x64-14/binding.node

但我的文件夹结构不同:

代码语言:javascript
复制
node_modules/gulp-sass/node_modules/node-sass/vendor/linux-x64-47/binding.node

我在Kubuntu 15.04更新到15.10的时候使用了gulp,一切都很顺利。

这是我的吞咽文件:

代码语言:javascript
复制
var gulp = require('gulp'),
    sass = require('gulp-sass'),
    minifyCss = require('gulp-minify-css'),
    gulpConcat = require('gulp-concat'),
    rename = require('gulp-rename'),
    sourcemaps = require('gulp-sourcemaps'),
    livereload = require('gulp-livereload'),
    uglify = require('gulp-uglify');

gulp.task('sass', function () {
  gulp.src('./scss/**/*.scss')
    .pipe(sourcemaps.init())
    .pipe(sass().on('error', sass.logError))
    // .pipe(minifyCss())
    .pipe(sourcemaps.write('/'))
    .pipe(gulp.dest(''))
    .pipe(livereload());
});

gulp.task('compress', function() {
  return gulp.src(['javascripts/application.js'])
    .pipe(sourcemaps.init())
    .pipe(sourcemaps.write())
    .pipe(uglify())
    .pipe(gulpConcat('application.min.js'))
    .pipe(gulp.dest(''))
    .pipe(livereload());
});

gulp.task('sass:watch', function () {
    gulp.watch('scss/**/*.scss', ['sass']);
    gulp.watch('javascripts/**/*.js', ['compress']);
});

gulp.task('default', ['sass:watch', 'compress'], function() {
    livereload.listen();
});

下面是完整的错误:

代码语言:javascript
复制
/home/XX/workspace/XX/assets/node_modules/gulp-sass/node_modules/node-sass/lib/extensions.js:158
    throw new Error([
          ^
Error: The `libsass` binding was not found in /home/XX/workspace/XX/assets/node_modules/gulp-sass/node_modules/node-sass/vendor/linux-x64-14/binding.node
This usually happens because your node version has changed.
Run `npm rebuild node-sass` to build the binding for your current node version.
    at Object.sass.getBinaryPath (/home/XX/workspace/XX/assets/node_modules/gulp-sass/node_modules/node-sass/lib/extensions.js:158:11)
    at Object.<anonymous> (/home/XX/workspace/XX/assets/node_modules/gulp-sass/node_modules/node-sass/lib/index.js:16:36)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/home/XX/workspace/XX/assets/node_modules/gulp-sass/index.js:176:21)
    at Module._compile (module.js:460:26)

EN

回答 1

Stack Overflow用户

发布于 2015-11-10 15:06:24

似乎您的gulp-sass (使用node-sass插件)版本与您的nodejs版本不兼容,尝试将它们都更新到最新版本,它应该可以工作,如果它不起作用,您应该检查您的计算机上是否存在替代版本的nodejs,此项目默认使用nodejs,而不是您更新的版本。无论哪种方式-您的nodejs版本与此插件不兼容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33602057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档