3

使用 gulp 和新的 Microsoft bash shell,我正在尝试设置一个 gulp watch 来将我的 scss 编译成 css,这样当编译出错时手表不会停止。

我已经设置了一个名为 sass 的 gulp 任务来执行此操作,我可以从命令行正常运行它gulp sass,但是当我尝试运行我的 gulp watch 命令时,gulp watch我得到一个我无法修复的 EPERM 错误在某种程度上让我的 gulp.watch 工作。下面是输出到命令行的错误消息。

bash 外壳错误消息

我尝试更改我的 node_modules 文件夹的权限,以及使用 sudo 来做,但我仍然收到此错误。帮助将不胜感激。

var gulp = require('gulp');
var sass = require('gulp-sass');
var plumber = require('gulp-plumber');
var notify = require('gulp-notify');

gulp.task('watch', ['sass'], function() { 
    gulp.watch('app/scss/**/*.scss', ['sass']);
})

gulp.task('sass', function() {
  return gulp.src('app/scss/**/*.scss')
    .pipe(customPlumber('Error Running Sass'))
    .pipe(sass())
    .pipe(gulp.dest('app/css'))
})

function customPlumber(errTitle){
    return  plumber({
        //use notify plugin to report error as windows toaster message
        errorHandler:notify.onError({
                //Customizing error title
                title:errTitle || "Error running Gulp",
                message: "Error: <%= error.message %>",
        })
    });
}
4

1 回答 1

3

WSL 不支持慢速/预览/生产环中的 FS 通知系统调用。在 Fast ring 中,它支持跟踪 WSL 内部所做的更改。开发人员承诺将尽快添加对跟踪 Windows 中所做更改的支持。

相关链接:

于 2016-09-21T13:30:41.380 回答