Ошибка с обновлением npm: бинарный файл pngquant не работает правильно

Я получаю следующую ошибку с моим 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)

5 ответов

Для 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

Возможно, вы найдете здесь помощь в оригинальном выпуске.

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

Это рекомендуемое исправление: (скопируйте / вставьте из: https://github.com/imagemin/pngquant-bin/issues/78) Как сказали @velu76 и @sory19, я следовал их методу:

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

Поскольку у меня уже была npm install в папке repo/project, я запустил "sudo rm -rf node_modules"

затем, все еще в папке моего репозитория / проекта 'npm install --no-bin-links'

И это работает прямо сейчас.

На самом деле я не знаю, временное ли это решение, но сейчас я могу работать.

TLDR;
используйте узел: последний вместо узла: alpine для образа докера

-
Привет, я использовал Docker Image Node: Alpine, и он тоже вылетает вчера. Кажется, это проблема с каким-то внешним пакетом, который требуется laravel-mix. Я тестировал на узле: альпийский узел: 8.10.0-альпийский узел: 8.8.1-альпийский ничего не работает. Я тестировал laravel-mix 0.11.4 и 0.12.1 и 1.0 ничего не работает. Но когда я переключаюсь с узла: альпийский на узел: последний, это работает. Надеюсь это поможет

Вы можете исправить эту ошибку, выполнив эту команду:

sudo npm install -g name-of-package --unsafe-perm=true --allow-root

Я также столкнулся с той же проблемой и попробовал все предоставленные решения, но ничего не работает Проблема в Windows 10, Node 16, npm 8

но понижение моего узла до 14 и npm до 6 решает мою проблему.

Другие вопросы по тегам