【问题标题】:Why did my gulp task stopped generating my css files?为什么我的 gulp 任务停止生成我的 css 文件?
【发布时间】:2015-07-03 04:41:30
【问题描述】:

我使用 sass(由 gulp 任务触发)来生成我的 css 文件。我最近格式化了我的计算,这个任务停止工作。

var sass = require('gulp-ruby-sass');
var config = require('../config');

gulp.task('styles', ['copy'], function() {
  gulp.src(config.sources.sass)
    .pipe(sass({ style: config.isProduction ? 'compressed' : 'expanded' }))
    .pipe(gulp.dest(config.build.cssDir));
});

在我重新安装我的操作系统 (Windows 8.1) 之前,此任务曾经运行良好。现在,在我运行此任务后,没有可见的错误,但没有创建 css 文件。

所以,问题是:

为什么我的 gulp 任务停止生成我的 css 文件? 

【问题讨论】:

    标签: ruby sass gulp gulp-ruby-sass


    【解决方案1】:

    你的 gulp 任务很好。

    gulp-ruby-sass 默认使用 gem sass 来编译你的 scss 文件。由于您最近格式化了您的计算机,我敢打赌您安装了最新版本的 Ruby Installer for Windows。我做了一些测试,发现 sass 在使用 Ruby 2.2.2 时似乎无法在 Windows 上运行。 sass gem 在 Ubuntu 和 OS X 上的 Ruby 2.2 上运行良好。

    如果可以的话,我建议您从 Ruby 2.2.x 降级到 Ruby 2.1.6,这样应该可以解决您的问题。

    如果没有,您可以使用 gulp-debug 来检查您的流并从那里开始。

    gulp.task('styles', ['copy'], function() {
      gulp.src(config.sources.sass)
        .pipe(debug({title: 'Before sass:'}))
        .pipe(sass({ style: config.isProduction ? 'compressed' : 'expanded' }))
        .pipe(debug({title: 'After sass:'}))
        .pipe(gulp.dest(config.build.cssDir));
    });
    

    如果您无法降级您的 ruby​​ 版本,您可以使用 gulp-sass 而不是 gulp-ruby-sass。 Gulp sass 根本不需要 ruby​​,因为它使用 node 中为 C/C++ 库制作的包装器 - libsass

    您还可以编辑您的帖子并包含您的 gulp-ruby-sass 版本(或您的 package.json)以及您的 nodejs 版本。

    【讨论】:

    • 非常感谢!从 Ruby 2.2 降级到 Ruby 解决了我的问题!不过,我仍然没有声望支持你。
    猜你喜欢
    • 2015-01-17
    • 2015-04-26
    • 1970-01-01
    • 1970-01-01
    • 2015-07-14
    • 2014-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多