gpt4 book ai didi

windows - 尝试在 Windows 上使用 Gulp 调整图像大小时出现 EOF 错误

转载 作者:可可西里 更新时间:2023-11-01 14:42:31 27 4
gpt4 key购买 nike

在我的 gulpfile 中调用 resize:images 任务时出现如下错误(见底部)...

events.js:160
throw er; // Unhandled 'error' event
^
Error: Error: write EOF
at finish (C:\Users\brendan\Documents\Code\Web\TheOrm\WWW\v3\node_modules\gulp-gm\index.js:40:21)
at gm.<anonymous> (C:\Users\brendan\Documents\Code\Web\TheOrm\WWW\v3\node_modules\async\lib\async.js:485:30)
at emitMany (events.js:127:13)
at gm.emit (events.js:201:7)
at gm.<anonymous> (C:\Users\brendan\Documents\Code\Web\TheOrm\WWW\v3\node_modules\gm\lib\getters.js:70:16)
at Socket.cb (C:\Users\brendan\Documents\Code\Web\TheOrm\WWW\v3\node_modules\gm\lib\command.js:322:16)
at Socket.g (events.js:291:16)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at onwriteError (_stream_writable.js:340:10)

Imagemagick 已安装,似乎可以从命令行运行。即 magick -help 提供合理的输出,您可以保存内置的测试 Logo 图像。

我尝试了各种其他 gulp 库,包括 gulp-responsive-images,它给出了空管道错误。

我在 Windows 的 Linux 子系统下试过它,它工作正常 - 似乎这是一个 Windows 独有的问题。

fork gulp-image-resize 并运行测试套件后,我收到以下错误 ...

...
[14:18:20] Starting 'image_resize:interlace_and_resize_imagemagick'...
events.js:160
throw er; // Unhandled 'error' event
^

Error: write EPIPE
at exports._errnoException (util.js:1026:11)
at Socket._writeGeneric (net.js:710:26)
at Socket._write (net.js:729:8)
at doWrite (_stream_writable.js:328:12)
at writeOrBuffer (_stream_writable.js:314:5)
at Socket.Writable.write (_stream_writable.js:241:11)
at Socket.write (net.js:656:40)
at gm._spawn (C:\Users\brendan\Documents\Code\OpenSource\gulp-image-resize\node_modules\gm\lib\command.js:194:18)
at gm._exec (C:\Users\brendan\Documents\Code\OpenSource\gulp-image-resize\node_modules\gm\lib\command.js:167:17)
at gm.proto.(anonymous function) [as size] (C:\Users\brendan\Documents\Code\OpenSource\gulp-image-resize\node_modules\gm\lib\getters.js:68:12)

不幸的是,repo 禁用了错误报告 - 有谁知道如何解决这个问题?

这是我的 gulpfile.js ...

let gulp = require('gulp');
let imageResize = require('gulp-image-resize');
let path = require('path');
let rename = require('gulp-rename');
let debug = require('gulp-debug');

let INPUT_DIR = './NO_UPLOAD/img_src';
let OUTPUT_DIR = './NO_UPLOAD/img_tmp';

gulp.task('resize:images', function() {
relFns = [
'logo.png',
'image.png',
].map((f) => path.join(INPUT_DIR, f));
return gulp.src(relFns, { base: INPUT_DIR })
.pipe(debug({ title: 'resized' }))
.pipe(imageResize({
width: 100
}))
.pipe(rename((path) => { path.basename += '.sml' }))
.pipe(gulp.dest(OUTPUT_DIR));
});

最佳答案

有很多问题......

  1. 确保Graphicsmagick也已安装(可能不是必需的,但不会对安装造成任何伤害)
  2. 确保 gmmagick 都在你的路径中
  3. 引用关于 this post 的评论后,我发现重新启动计算机解决了这个问题。 (我对重启感到惊讶,因为打开一个新的控制台通常可以正常工作。)
  4. 最后,确保您不从从 Visual Studio Code 实例打开的控制台运行。 VSCode 是一个 32 位应用程序,它启动一个不运行 64 位版本的 Imagemagick 的 32 位控制台。而是从资源管理器启动控制台。

关于windows - 尝试在 Windows 上使用 Gulp 调整图像大小时出现 EOF 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41071318/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com