【发布时间】:2026-02-11 03:15:01
【问题描述】:
我正在运行一个在我的机器上安装了 Gulp 的项目。运行 Gulp Watch 时,如果我向文件夹中添加新图像,我的 gulp-imagemin 会使进程崩溃。我在该文件夹上正确设置了所有权限(多次检查),并且图像也具有正确的权限。
进程抛出如下错误:
错误:命令失败: /Users/robbert/Sites/wordpress_cyklo/node_modules/gulp-imagemin/node_modules/imagemin/node_modules/imagemin-optipng/node_modules/optipng-bin/vendor/optipng -strip all -clobber -force -fix -o 2 -out /var/folders/kj/wydtr_t92hqgymv2d2v43pjw0000gr/T/9ab534f4-267f-46cb-b99f-372028e6ed5b /var/folders/kj/wydtr_t92hqgymv2d2v43pjw0000gr/T/eabb0414-f9db-4b6f-8242-4c8d25004e1d /Users/robbert/Sites/wordpress_cyklo/node_modules/gulp-imagemin/node_modules/imagemin/node_modules/imagemin-optipng/node_modules/optipng-bin/vendor/optipng: /Users/robbert/Sites/wordpress_cyklo/node_modules/gulp-imagemin/node_modules/imagemin/node_modules/imagemin-optipng/node_modules/optipng-bin/vendor/optipng: 无法执行二进制文件
每当我在文件夹上运行 Gulp 时,我都会收到相同的错误,除非我通过我的 Vagrant VM 运行它。我该如何解决?我的虚拟机要慢很多,所以我真的希望能够在我的主操作系统上运行 Gulp。
编辑:这是图片的一大堆:
// ### Images
// `gulp images` - Run lossless compression on all the images.
gulp.task('images', function() {
return gulp.src(globs.images)
.pipe(imagemin({
progressive: true,
interlaced: true,
svgoPlugins: [{removeUnknownsAndDefaults: false}, {cleanupIDs: false}]
}))
.pipe(gulp.dest(path.dist + 'images'))
.pipe(browserSync.stream());
});
【问题讨论】:
-
你能发布你的 gulpfile 或者至少是确切的 watch call 吗?谢谢
-
@rick 我对 gulp 不太熟悉,但我想我现在已经将它添加到问题中了。
-
这似乎是mac osx上的一个已知问题github.com/imagemin/optipng-bin/issues/37不知道这是否可以帮助你