gulp - 我从 gulp 中收到错误 - JPEG 支持未编译

标签 gulp ubuntu-18.04 gulp-imagemin

在此事件之前,我的开发没有任何问题。今天我不得不 重新安装Windows,之后我在Windows上安装了ubuntu终端。 安装了 gulp、node、npm(出现此错误后我尝试通过以下方式启动项目 纱) 当我开始我的 gulp 项目时,任务没有完成。问题是我 出现如下错误:

$ gulp
[21:29:30] Requiring external module @babel/register
[21:29:40] Using gulpfile /mnt/c/Users/erasc/OneDrive/Desktop/VorononaPortf/gulpfile.babel.js
[21:29:40] Starting 'default'...
[21:29:40] Starting 'clean'...
[21:29:40] Finished 'clean' after 90 ms
[21:29:40] Starting 'views'...
[21:29:40] Starting 'styles'...
[21:29:40] Starting 'scripts'...
[21:29:40] Starting 'images'...
[21:29:40] Starting 'webp'...
[21:29:40] Starting 'sprites'...
[21:29:40] Starting 'fonts'...
[21:29:40] Starting 'iconfont'...
[21:29:40] Starting 'favicons'...
[21:29:41] Icon fonts 0 items
[21:29:41] Finished 'iconfont' after 583 ms
[21:29:48] 'webp' errored after 8.11 s
[21:29:48] Error in plugin "gulp-webp"
Message:
    JPEG support not compiled. Please install the libjpeg development package before building.
Error! Could not process file /tmp/7662a061-2ccc-4f0c-a937-04daeb3bdde3
Error! Cannot read input picture file '/tmp/7662a061-2ccc-4f0c-a937-04daeb3bdde3'

Details:
    code: 255
    killed: false
    stdout:
    stderr: JPEG support not compiled. Please install the libjpeg development package before building.
Error! Could not process file /tmp/7662a061-2ccc-4f0c-a937-04daeb3bdde3
Error! Cannot read input picture file '/tmp/7662a061-2ccc-4f0c-a937-04daeb3bdde3'

    failed: true
    signal: null
    cmd: /mnt/c/Users/erasc/OneDrive/Desktop/VorononaPortf/node_modules/cwebp-bin/vendor/cwebp -quiet -mt -o /tmp/8521f795-8c3d-4c8b-8170-2dd2b2ff850b /tmp/7662a061-2ccc-4f0c-a937-04daeb3bdde3
    timedOut: false
    fileName: /mnt/c/Users/erasc/OneDrive/Desktop/VorononaPortf/src/img/header/daria-litvinova.jpg
    domainEmitter: [object Object]
    domain: [object Object]
    domainThrown: false

[21:31:37] 'default' errored after 6.58 s
[21:31:37] The following tasks did not complete: views, styles, scripts, images, sprites, fonts, favicons
[21:31:37] Did you forget to signal async completion?
error Command failed with exit code 1.

如果从项目中删除 jpeg 图像,任务将顺利完成,并且 guld 将工作,但没有它们。我知道问题是我的 jpeg(已经在我的项目中)没有编译,但我不知道为什么,以及如何修复它。

我尝试重新安装需要编译 jpeg 的软件包,但它对我不起作用。

我知道问题是我的 jpeg(已经在我的项目中)没有编译,但我不知道为什么,以及如何修复它。

最佳答案

在类 Unix 平台上编译实用程序(Google 开发人员)

为了使 gulp-webp 包正常工作,您需要在 Linux 计算机上安装适当的依赖项。

  1. 安装转换图像所需的软件包

    sudo apt install libjpeg-dev libpng-dev libtiff-dev libgif-dev

  2. https://storage.googleapis.com/downloads.webmproject.org/releases/webp/index.html 下载 libwebp-1.2.1.tar.gz

  3. 解压

    tar xvzf libwebp-1.2.1.tar.gz

  4. 构建 WebP 编码器 cwebp 和解码器 dwebp

    cd libwebp-1.2.1 && ./configure && make && sudo make install

  5. 设置环境变量

    echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib">> ~/.bashrc

  6. 重新启动

附注对我来说,这在 WSL1不起作用,但在 WSL2起作用。解决方法是 shell 脚本:

for i in *.jpg; do cwebp "$i" -o "${i/.jpg/.webp}"; done

来源:

https://developers.google.com/speed/webp/docs/compiling#compiling_on_unix-like_platforms https://learn.microsoft.com/en-us/windows/wsl/compare-versions https://askubuntu.com/questions/853814/why-are-webp-utilities-built-on-ubuntu-14-04-not-working-and-showing-a-library-e

关于gulp - 我从 gulp 中收到错误 - JPEG 支持未编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58717690/

相关文章:

javascript - Gulp imagemin优化去除svg符号

javascript - 从 HTML 和 JS 文件中提取翻译

gulp - 我应该如何组织 gulp 4 中的子任务?

gulp - Ionic 的默认 gulpfile 与其 cli 工具有何关系?

linux - mktemp : failed to create file via template ‘/tmp/virtualenvwrapper-initialize-hook-XXXXXXXXXX’ : Read-only file system

python - 尝试使用网络摄像头时,yolo编译出现问题

javascript - 使 gulp-usemin 仅对非缩小文件进行 uglify

python - 将多个目录中的同名文件复制到一个目录中

optimization - 改进PNG优化Gulp任务