Ошибка с обновлением 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 решает мою проблему.