BETA

Windowsでの`Error: pngquant failed to build, make sure that libpng-dev is installed`への対処(完了)

投稿日:2019-10-22
最終更新:2019-10-22
※この記事は外部サイト(https://labor.ewigleere.net/2019/10/21/nod...)からのクロス投稿です

上述の続きとなります。

Windows10でimagemin-pngquantをインストールしようとすると、タイトルのエラーが発生してコケてしまいます。

Error: pngquant failed to build, make sure that libpng-dev is installed  

ただし、Windows環境ならば必ず発生するかと言うと、そうでもない様子(今のところ3台試験してSurface1台だけ上述エラーが発生する)。

これについてどうにかならないかと調べてみると……

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!  

+ [email protected]  
added 145 packages from 99 contributors in 766.995s  

windows-build-toolsのインストールが完了しました。

これで問題のpackage.jsonnpm i -Dしてみます。

> npm i -D  

#略  

> [email protected] 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で解決しました。

参考

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

アルム=バンドのQrunch

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!