Gulp 在 Windows 观看 EPERM

Gulp watch EPERM on Windows

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

我已经设置了一个名为 sass 的 gulp 任务来执行此操作,我可以 运行 从命令行使用 gulp sass 它很好,但是当我尝试 运行 我的 gulp watch 命令与 gulp watch 我得到一个 EPERM 错误,我一直无法修复我的 gulp.watch 工作。下面是输出到命令行的错误消息。

我已经尝试更改 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 %>",
        })
    });
}

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

相关链接: