# Pngquant 在 Mac 中构建失败解决方案
Error: pngquant failed to build, make sure that libpng is installed
今天调研一个关于 gatsby 的项目 react-svgr playground (opens new window)。
涉及到了一个 C 的东西: libpng。gatsby 中一个插件,使用库 imagemin-pngquant 借助命令行工具 pngquant 去压缩 PNG 图片,其中用到了这个 libpng。
另外说一下,pngquant 是一个常见常用的压缩 PNG 的工具,可以尝试了解下它的原理及常见的压缩选项。
库依赖如下所示:
- gatsby
- smooth-doc
- gatsby-plugin-sharp
- imagemin-pngquant
- pngquant-bin
- pngquant (c)
- pngquant-bin
- imagemin-pngquant
- gatsby-plugin-sharp
- smooth-doc
安装包时报错:
$ yarn
...
error /Users/xiange/Documents/svgr/website/node_modules/pngquant-bin: Command failed.
Exit code: 1
Command: node lib/install.js
Arguments:
Directory: /Users/xiange/Documents/svgr/website/node_modules/pngquant-bin
Output:
⚠ connect ECONNREFUSED 0.0.0.0:443
⚠ pngquant pre-build test failed
ℹ compiling from source
✖ Error: pngquant failed to build, make sure that libpng is installed
at /Users/xiange/Documents/svgr/website/node_modules/bin-build/node_modules/execa/index.js:
提示,缺失 libpng,使用 brew 在 Mac 系统安装,未果。
最终,经 Issue npm install is broken by pngquant-bin dependency (opens new window) 提示,在 Mac 下的解决方案为:
$ brew install pkg-config
重新装包,成功