optipng 命令失败的 gulp-imagemin 错误仅在 docker 中出现

发布于 2025-01-18 04:02:07 字数 1340 浏览 2 评论 0原文

我在 docker 上构建时遇到 command failed: /app/node_modules/optipng-bin/vendor/optipng --version 问题。不过,当我在本地运行它时,我没有遇到问题。我查看了几个资源,其中提到下载imagemin-optipng或使用npm重建进行修复。我已经尝试了两者,但仍然无法

在这里工作,这是 docker 文件和 gulp 文件

FROM node:16.14


ENV NODE_ENV=dev
ENV app /app

RUN mkdir $app && \
    apt-get update && \
        apt-get install -y build-essential gcc make apache2-utils \
    nginx

WORKDIR $app
ADD . $app
EXPOSE 80
ENTRYPOINT ["sh", "start.sh"]

start.sh

npm cache clean -f
npm start

package.json

"prestart": "npm install",
"start": "gulp --dev"

gulpfile.js

import imagemin from "gulp-imagemin"; // "8.0.0"
import imageminOptipng from 'imagemin-optipng'; // "^8.0.0"


gulp.task("favicon", () => {
  return gulp.src("src/favicon.ico").pipe(gulp.dest(config.dest));
});

// images
gulp.task("images", gulp.series("favicon", () => {
  return gulp
    .src(config.images.toolkit.src)
    .pipe(imagemin(
      [imageminOptipng({ optimizationLevel: 2 }),]
    ))
    .pipe(gulp.dest(config.images.toolkit.dest));
}));

在此处输入图像描述

I get command failed: /app/node_modules/optipng-bin/vendor/optipng --version issue while building on docker. I don't get issue when I run it locally though. I looked into several resources where it says to download imagemin-optipng or fix using npm rebuild. I have tried both but still not working

here is the docker file and gulp file

FROM node:16.14


ENV NODE_ENV=dev
ENV app /app

RUN mkdir $app && \
    apt-get update && \
        apt-get install -y build-essential gcc make apache2-utils \
    nginx

WORKDIR $app
ADD . $app
EXPOSE 80
ENTRYPOINT ["sh", "start.sh"]

start.sh

npm cache clean -f
npm start

package.json

"prestart": "npm install",
"start": "gulp --dev"

gulpfile.js

import imagemin from "gulp-imagemin"; // "8.0.0"
import imageminOptipng from 'imagemin-optipng'; // "^8.0.0"


gulp.task("favicon", () => {
  return gulp.src("src/favicon.ico").pipe(gulp.dest(config.dest));
});

// images
gulp.task("images", gulp.series("favicon", () => {
  return gulp
    .src(config.images.toolkit.src)
    .pipe(imagemin(
      [imageminOptipng({ optimizationLevel: 2 }),]
    ))
    .pipe(gulp.dest(config.images.toolkit.dest));
}));

enter image description here

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文