Ошибка: двоичные файлы darwin-x64 не могут использоваться на платформе 'linux -x64' (AWS lambda + typescript + webpack sharp module) - PullRequest
0 голосов
/ 27 мая 2020

aws лямбда с машинописным текстом возникает ошибка при сборке веб-пакетом.

Перед сборкой веб-пакета я делал "npm i --arch = x64 --platform = linux --target = 12.14.1 sharp "и labmda работает правильно.

Но размер zip-архива загрузки лямбда становится все больше и больше.

Итак, я хочу изменить размер zip-архива загрузки лямбда с помощью serverless-webpack.

Лямбда изображения работает хорошо, за исключением использования модуля резкости.

Не знаю, как это сделать.

Я сделал :

  1. Удалите node_modules и package-lock. json и установите зависимости (также установлены Sharp)
  2. Удалите node_modules / sharp и установите Sharp (лямбда-среда - linux, x64, версия узла)
  3. Установить конфигурацию serverless-webpack в serverless: packagerOptions (scrips) - восстановить резкую лямбда-среду

Но лямбда не работает должным образом.

и я просмотрел много информации .

[лямбда linux env]
Ошибка при запуске S арфа внутри AWS Лямбда-функция: двоичные файлы darwin-x64 'нельзя использовать на платформе' linux -x64 '

[Serverless-webpack]
https://github.com/serverless-heaven/serverless-webpack/issues/396

Спасибо!

Ответы [ 2 ]

1 голос
/ 03 августа 2020

Я решил эту проблему, используя aws codebuild.

codebuild имеет linux и node.js время выполнения.

Итак, я выполнил команду ниже в aws codebuild (https://sharp.pixelplumbing.com/install)

rm -rf node_modules/sharp
npm install --arch=x64 --platform=linux sharp

модуль резкости работает правильно.

0 голосов
/ 23 июля 2020

Я заставил его работать, сказав webpack переустановить пакет после его запуска npm install:

webpack:
  includeModules:
    forceExclude:
      - aws-sdk
  packagerOptions:
    scripts:
      - rm -rf node_modules/sharp
      - npm install --arch=x64 --platform=linux sharp
...