Gulp-Imagemin的EACCES错误

时间:2015-09-20 22:51:00

标签: node.js gulp gulp-imagemin

我正在尝试使用gulp任务,但我收到了这个错误:

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: spawn EACCES
    at errnoException (child_process.js:988:11)
    at Process.ChildProcess._handle.onexit (child_process.js:779:34)

它没有说错误本身,所以我安装了“superstack”并得到了这个:

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: spawn EACCES
    at errnoException (child_process.js:988:11)
    at Process.ChildProcess._handle.onexit (child_process.js:779:34)
    at DuplexWrapper.Readable.on (/var/www/public/node_modules/gulp-imagemin/node_modules/imagemin/node_modules/stream-combiner2/node_modules/duplexer2/node_modules/readable-stream/lib/_stream_readable.js:703:33)
    at Imagemin.run (/var/www/public/node_modules/gulp-imagemin/node_modules/imagemin/index.js:80:9)
    at DestroyableTransform.through.obj.percent (/var/www/public/node_modules/gulp-imagemin/index.js:56:12)
    at DestroyableTransform._transform (/var/www/public/node_modules/gulp-imagemin/node_modules/through2-concurrent/through2-concurrent.js:29:15)
    at DestroyableTransform.Transform._read (/var/www/public/node_modules/gulp-imagemin/node_modules/through2-concurrent/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:172:10)
    at DestroyableTransform.Transform._write (/var/www/public/node_modules/gulp-imagemin/node_modules/through2-concurrent/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:160:12)
    at doWrite (/var/www/public/node_modules/gulp-imagemin/node_modules/through2-concurrent/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:326:12)
    at writeOrBuffer (/var/www/public/node_modules/gulp-imagemin/node_modules/through2-concurrent/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:312:5)

知道我为什么会收到此错误?我该怎么做才能解决它?

非常感谢!

编辑:

这是我正在尝试的任务。

gulp.task('build-images', function(){
    return gulp.src('app/assets/src/**/*.+(png|jpg|gif|jpeg)')
        .pipe($.debug({title:'BEFORE'}))
        .pipe(imagemin({
            progressive: true,
            svgoPlugins: [{removeViewBox: false}],
            use: [pngquant()]
        }))
        .pipe($.debug({title:'AFTER'}))
        .pipe(gulp.dest('dest/images'));
});

1 个答案:

答案 0 :(得分:1)

这是权限错误。确保您对所有这些文件和目录具有读写权限。