libpng12.so.0: cannot open shared object file

报错

在 CentOS 上进行 webpack 构建时,经常会遇到这个错误:

Error: /var/lib/jenkins/workspace/foobar/node_modules/pngquant-bin/vendor/pngquant: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory

    at Promise.all.then.arr (/var/lib/jenkins/workspace/foobar/node_modules/execa/index.js:231:11)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)

原因

处理图片压缩的 webpack 插件 imagemin-webpack-plugin 依赖 imagemin-pngquant,而 imagemin-pngquant 需要库文件 libpng12.so.0,CentOS 默认没有安装这个文件。

解决方法

libpng12.so.0 属于 libpng 的开发版,直接安装 libpng-devel.x86_64 便可以了:

yum install -y libpng-devel.x86_64  

以上是 CentOS libpng-devel 的安装方法,其他 Linux 发行版类似,用包管理工具搜索并安装 libpng-dev 即可。

正在加载 Disqus 评论组件...