Как исправить libpng12.so.0: не удается открыть общий объектный файл в lambda node10.x? - PullRequest
3 голосов
/ 31 октября 2019

У меня есть Dockerfile:

FROM lambci/lambda:build-nodejs10.x
RUN yum update -y
RUN yum -y install libpng12.so.0 libpng12-devel

Я создаю образ, выполняю и монтирую свое приложение для узлов внутри образа и выполняю установку npm.

Это deps:

  "dependencies": {
    "imagemin": "^5.3.1",
    "imagemin-pngquant": "^5.1.0",
    "sharp": "^0.22.1"
  },
  "devDependencies": {
    "aws-sdk": "^2.36.0"
  }

Установка npm работает (но только когда я устанавливаю libpng12-devel внутри моего контейнера Docker): + npm i

> sharp@0.22.1 install xxx/resize/node_modules/sharp
> (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)

info sharp Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.7.4/libvips-8.7.4-linux-x64.tar.gz

> pngquant-bin@4.0.0 postinstall xxx/resize/node_modules/pngquant-bin
> node lib/install.js

  ✔ pngquant pre-build test passed successfully
added 434 packages from 280 contributors and audited 1798 packages in 36.268s
found 7 vulnerabilities (2 low, 3 moderate, 2 high)
  run `npm audit fix` to fix them, or `npm audit` for details

Когда я развертываю свое приложение (лямбда)и начать тестирование. Я вижу это в CloudWatch:

"code": "EPIPE",
"stack": [
    "Error: /var/task/node_modules/pngquant-bin/vendor/pngquant: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory",
    "",
    "    at WriteWrap.afterWrite [as oncomplete] (net.js:788:14)"
],

Как это исправить? Я установил libpng12?

...