28

我的npm update命令出现以下错误:

> pngquant-bin@4.0.0 postinstall /var/www/pp/20180315202846/node_modules/pngquant-bin
> node lib/install.js

  ⚠ The `/var/www/pp/20180315202846/node_modules/pngquant-bin/vendor/pngquant` binary doesn't seem to work correctly
  ⚠ pngquant pre-build test failed
  ℹ compiling from source
  ✔ pngquant pre-build test passed successfully
  ✖ RequestError: pngquant failed to build, make sure that libpng-dev is installed
    at ClientRequest.req.once.err (/var/www/pp/20180315202846/node_modules/pngquant-bin/node_modules/got/index.js:111:21)
    at Object.onceWrapper (events.js:272:13)
    at ClientRequest.emit (events.js:180:13)
    at ClientRequest.onConnect (/var/www/pp/20180315202846/node_modules/pngquant-bin/node_modules/tunnel-agent/index.js:168:23)
    at Object.onceWrapper (events.js:272:13)
    at ClientRequest.emit (events.js:180:13)
    at Socket.socketOnData (_http_client.js:476:11)
    at Socket.emit (events.js:180:13)
    at addChunk (_stream_readable.js:269:12)
    at readableAddChunk (_stream_readable.js:256:11)
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.1.3 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! pngquant-bin@4.0.0 postinstall: `node lib/install.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the pngquant-bin@4.0.0 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

我已经做了:

 apt-get install libpng-dev

但我仍然收到此错误。有任何想法吗?(我的发行版是 Debian 9.2)

4

5 回答 5

35

对于 Ubuntu,您需要运行:

wget -q -O /tmp/libpng12.deb http://mirrors.kernel.org/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1_amd64.deb \
  && sudo dpkg -i /tmp/libpng12.deb \
  && rm /tmp/libpng12.deb
于 2018-03-24T14:07:05.617 回答
14

也许您会在原始问题中找到一些帮助。

https://github.com/imagemin/pngquant-bin/issues/78

他是一个建议的修复:(复制/粘贴来自:https ://github.com/imagemin/pngquant-bin/issues/78#issuecomment-374192838 )正如@velu76和@sory19所说,我遵循了他们的方法:

'sudo apt-get install libpng-dev' 'npm install -g pngquant-bin'

由于我的 repo/project 文件夹中已经有“npm install”,所以我运行了“sudo rm -rf node_modules”

然后,仍然在我的存储库/项目文件夹中'npm install --no-bin-links'

它现在有效。

实际上,我不知道这是否只是临时修复,但我现在可以工作。

于 2018-03-19T13:49:54.670 回答
3

TLDR;
使用 node:latest 代替 node:alpine 作为 docker 镜像

—<br> 嗨,我使用的是 docker image node:alpine,昨天它也崩溃了。似乎是 laravel-mix 需要的一些外部包的问题。我在 node:alpine node:8.10.0-alpine node:8.8.1-alpine 上进行了测试,没有任何效果。我测试了 laravel-mix 0.11.4 和 0.12.1 和 1.0 没有任何效果。但是当我从 node:alpine 切换到 node:latest 时,它可以工作。希望这可以帮助

于 2018-03-16T09:57:56.487 回答
0

我也面临同样的问题并尝试了所有提供的解决方案,但没有任何效果 Windows 10、Node 16、npm 8 上的问题

但是通过将我的节点降级到 14 和 npm 到 6 来解决我的问题。

于 2022-02-02T16:12:33.953 回答
0

您可以通过执行以下命令来修复此错误:

sudo npm install -g name-of-package --unsafe-perm=true --allow-root
于 2018-09-21T10:52:37.657 回答