如何在Windows上安装libpng-dev?

17
我正在尝试安装 Node.js 的 imagemin-pngquant 模块: https://www.npmjs.org/package/imagemin-pngquant 但是,当我运行以下命令时:
npm install imagemin-pngquant --save-dev

我收到以下的错误信息:

  warn : pngquant pre-build test failed
  info : compiling from source
 error : Error: pngquant failed to build, make sure that libpng-dev is installed
 at ChildProcess.exithandler (child_process.js:637:15)
 at ChildProcess.EventEmitter.emit (events.js:98:17)
 at maybeClose (child_process.js:735:16)
 at Socket.<anonymous> (child_process.js:948:11)
 at Socket.EventEmitter.emit (events.js:95:17)
 at Pipe.close (net.js:466:12)

我该如何安装pngquant需要的libpng-dev库?

2个回答

9

我在Windows安装gulp-imagemin时遇到了类似的缺少libpng-dev的问题。我发现libpng-dev只存在于MacOS和Linux中,而在Windows中并不存在。以下是我收到的错误信息:

enter > node lib/install.js
  ‼ Request to https://raw.github.com/imagemin/pngquant-bin/v3.0.0/vendor/win/pngquant.exe failed
  ‼ pngquant pre-build test failed
  i compiling from source
  × Error: pngquant failed to build, make sure that libpng-dev is installed
at ChildProcess.exithandler (child_process.js:744:12)
at ChildProcess.emit (events.js:110:17)
at maybeClose (child_process.js:1008:16)
at Socket.<anonymous> (child_process.js:1176:11)
at Socket.emit (events.js:107:17)
at Pipe.close (net.js:476:12)

因此,我尝试使用以下命令安装pngquant-bin:

npm install --save-dev pngquant-bin

但是我得到了几乎相同的错误信息。请注意版本号为3.0.0。 然后我尝试像这样安装pngquant(不带-dev):

npm install --save-dev pngquant --msvs_version=2013

它成功安装了pngquant 2.0.0版本。之后,我也可以安装gulp-imagemin。

不过,我不确定2013年的库版本在这里起了什么作用。


只是想补充一下,在Windows上使用C++运行时库有时是安装nodejs组件的唯一方法。其中一个这样的组件是browser-sync。当然,您需要在计算机上安装这些库。幸运的是,安装免费的Visual Studio 2013社区版就足够了。 - Madrus
2
我不得不使用“--msvs_version=2017”,但是使用这个标志对我有效。 - emeraldjava
我尝试了2015和2013两个版本,但都没有起作用。 - Derek Jin

6

使用Windows PowerShell作为管理员,运行npm install --global --production windows-build-tools以安装Windows构建工具。

如果您之前尝试过任何npm安装 - 您肯定已经尝试过,否则您不会在阅读这些内容 - 您必须清除所有内容,并进行全新的依赖项安装:
$ rm node_modules -R
$ rm package-lock.json
$ npm install

祝好运!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接