Windows10でimagemin-pngquant
をインストールしようとすると、タイトルのエラーが発生してコケてしまいます。
Error: pngquant failed to build, make sure that libpng-dev is installed
ただし、Windows環境ならば必ず発生するかと言うと、そうでもない様子(今のところ3台試験してSurface1台だけ上述エラーが発生する)。
これについてどうにかならないかと調べてみると……
- reactjs – make sure lib-png is installed – Stack Overflow
- png – How to install libpng-dev on windows? – Stack Overflow
Stack Overflowの2つの質問で「npm install --save-dev pngquant --msvs_version=2013
を試すと良い」という回答がありました。
このうち、msvs_version
オプションが何者なのかさらに検索。
すると、上述の記事がヒット。どうもwindows-build-tools
に関するもののようです。
windows-build-tools
が何者かと言うと、
- Node.jsのライブラリの一部ではC++を使用したものがある
- C++で作られたモジュールをビルドするのに
node-gyp
が使われる node-gyp
はモジュールをビルドする際にPythonを使う
ということで、一部ライブラリを使用するために必要なC++やPythonの開発環境をWindowsに構築するためのツール、とのこと。
……そういえば、エラーが出ないPCのうち片方はwindows-build-tools
を入れていましたね(もう片方は記憶が曖昧で定かではない)。
もしかするとこれが原因か?ということで試してみます。
> npm install -g windows-build-tools
#略
---------- Visual Studio Build Tools ----------
Successfully installed Visual Studio Build Tools.
------------------- Python --------------------
Successfully installed Python 2.7
Now configuring the Visual Studio Build Tools and Python...
All done!
+ windows-build-tools@5.2.2
added 145 packages from 99 contributors in 766.995s
windows-build-tools
のインストールが完了しました。
これで問題のpackage.json
でnpm i -D
してみます。
> npm i -D
#略
> pngquant-bin@5.0.2 postinstall C:\xampp\htdocs\test\_template\kiribi_ususama\node_modules\pngquant-bin
> node lib/install.js
√ pngquant pre-build test passed successfully
上手く行きました!
ということで、私のケースでは、Error: pngquant failed to build, make sure that libpng-dev is installed
が発生したときにPowerShellを起動してnpm install -g windows-build-tools
で解決しました。