我在我的机器上安装了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运行它.我该如何解决?我的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());
});
Run Code Online (Sandbox Code Playgroud)
Sve*_*ung 14
gulp-imagemin依赖于optipng优化PNG图像.optipng是一个用C编写的本机程序,而不是JavaScript.这意味着当您npm install gulp-imagemin安装适用optipng于您的系统体系结构的可执行文件时.
如果您npm install gulp-imagemin在一个系统(例如Linux)上运行,然后将整个项目(包括该node_modules文件夹)复制到另一个系统(例如MacOS X),optipng则可执行文件仍然是Linux 的可执行文件.MacOS X无法运行Linux可执行文件.
即使您没有显式复制项目,但意外将node_modules文件夹提交到存储库,也可能出现同样的问题.
您最好的选择是从头开始删除整个node_modules文件夹npm install:
rm -rf node_modules
npm install
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2495 次 |
| 最近记录: |