javascript - 不断出现 libsass 错误

标签 javascript node.js gulp libsass

当我开始学习时,我像往常一样编码,做简单的 scss(没什么花哨的,向 div 添加动画)

segmentation fault (core dumped) gulp

我删除了我的node_modules,进行了npm安装,没有任何变化。

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

由于某种原因,它在这里寻找 libsass 弯曲:

node_modules/gulp-sass/node_modules/node-sass/vendor/linux-x64-14/binding.node

但我的文件夹结构不同:

node_modules/gulp-sass/node_modules/node-sass/vendor/linux-x64-47/binding.node

我在 Kubuntu 15.04 更新到 15.10 上使用 gulp,一切都很顺利。

这是我的 gulp 文件:

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();
});

这是完整的错误:

/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)

最佳答案

您拥有的 gulp-sass (使用 node-sass 插件)版本似乎与您的 Nodejs 版本不兼容,请尝试将它们更新到最新版本,它应该可以工作,如果它不起作用,您应该检查您的计算机上是否存在该项目默认使用的 NodeJS 替代版本,而不是您更新的版本。 不管怎样 - 你的nodejs版本与这个插件不兼容。

关于javascript - 不断出现 libsass 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33602057/

相关文章:

node.js - 当有人调用 API 时,socket.io 会发出信号

javascript - 使用 webpack-stream & gulp 不会转译 ES6 导入

javascript - ES6 使用 for..of 反向迭代数组,我是否遗漏了规范中的内容?

javascript - 网络移动可靠高度

node.js - PubSub 服务器示例 : How are messages broadcast?

node.js - Mongoose 删除不起作用 [findByIdAndRemove]

node.js - 有没有办法阻止 gulp-elm 中的 elm.init() 将 elm-stuff 和 elm-package.json 移动到父目录中?

javascript - gulp-image 最小压缩误差

javascript - chrome - 在调试脚本中相当于 Visual Studio 的 F5

javascript - 根据 URL 添加事件菜单或导航类