加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

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

发布时间:2020-12-14 05:45:24 所属栏目:Windows 来源:网络整理
导读:我在gulpfile中调用resize:images任务时出现如下错误(见底部)… events.js:160 throw er; // Unhandled 'error' event ^Error: Error: write EOF at finish (C:UsersbrendanDocumentsCodeWebTheOrmWWWv3node_modulesgulp-gmindex.js:40:21) at g
我在gulpfile中调用resize:images任务时出现如下错误(见底部)…

events.js:160
      throw er; // Unhandled 'error' event
      ^
Error: Error: write EOF
    at finish (C:UsersbrendanDocumentsCodeWebTheOrmWWWv3node_modulesgulp-gmindex.js:40:21)
    at gm.<anonymous> (C:UsersbrendanDocumentsCodeWebTheOrmWWWv3node_modulesasynclibasync.js:485:30)
    at emitMany (events.js:127:13)
    at gm.emit (events.js:201:7)
    at gm.<anonymous> (C:UsersbrendanDocumentsCodeWebTheOrmWWWv3node_modulesgmlibgetters.js:70:16)
    at Socket.cb (C:UsersbrendanDocumentsCodeWebTheOrmWWWv3node_modulesgmlibcommand.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提供合理的输出,您可以保存内置的测试徽标图像.

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

我在Linux的Linux子系统下尝试了这个并且它工作正常 – 似乎这是Windows唯一的问题.

在分配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:UsersbrendanDocumentsCodeOpenSourcegulp-image-resizenode_modulesgmlibcommand.js:194:18)
    at gm._exec (C:UsersbrendanDocumentsCodeOpenSourcegulp-image-resizenode_modulesgmlibcommand.js:167:17)
    at gm.proto.(anonymous function) [as size] (C:UsersbrendanDocumentsCodeOpenSourcegulp-image-resizenode_modulesgmlibgetters.js:68:12)

不幸的是,回购已经禁用了错误报告 – 有谁知道如何解决这个问题?

这是我的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));
});

解决方法

有很多问题……

>确保安装了Graphicsmagick(可能没有必要但安装没有任何危害)
>确保gm和magick都在你的道路上
>在参考this post的评论后,我发现重新启动计算机修复了这个问题. (因为打开一个新的控制台通常有效,我对重启感到惊讶.)>最后确保不要从Visual Studio Code实例打开的控制台运行. VSCode是一个32位应用程序,并启动一个32位控制台,不运行64位版本的Imagemagick.而是从资源管理器启动控制台.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读