Почему моя задача gulp перестала генерировать мои css файлы?

Я использую 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 файлы?

1 ответ

Решение

Ваше задание глотка в порядке.

gulp-ruby-sass по умолчанию использует gem sass для компиляции ваших файлов scss. Так как вы недавно отформатировали свой компьютер, держу пари, вы установили последнюю версию Ruby Installer для Windows. Я провел несколько тестов и заметил, что sass не работает в Windows при использовании Ruby 2.2.2. Sass Gem прекрасно работает на Ruby 2.2 на Ubuntu и OS X.

Если это вариант, я предлагаю вам перейти с 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.

Другие вопросы по тегам