2

在此事件之前,我的开发没有问题。今天我不得不重新安装 Windows,之后我在 Windows 上安装了 ubuntu 终端。安装了 gulp、node、npm(在这个错误之后我尝试通过 yarn 启动项目)当我启动我的 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(已经在我的项目中)没有编译,但我不知道为什么,以及如何解决它。

4

1 回答 1

2

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

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

  1. 安装包,需要转换图像

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

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

  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. 重启

PS对我来说,这不适用于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://docs.microsoft.com/en-us/windows/wsl/compare-versions https://askubuntu.com/问题/853814/why-are-webp-utilities-built-on-ubuntu-14-04-not-working-and-showing-a-library-e

于 2021-09-14T07:28:13.733 回答