Проблема с запуском функции AWS Lambda с библиотекой Sharp - PullRequest
0 голосов
/ 22 января 2019

Я создал лямбда-функцию через CLI с усилением aws, следуя семинару AWS (https://amplify -workshop.go-aws.com / 70_generating_thumbnails / 10_creating_a_photo_processor_lambda.html ). Кажется, что где-то есть проблема с конфликтующими версиями Node.js.

Я полагаю, что проблема с острой библиотекой, поэтому я попытался изменить версию на последнюю, чтобы посмотреть, поможет ли это что-нибудь, но это не решило проблему.

Журнал ошибок CloudWatch:

module initialization error: Error
was compiled against a different Node.js version using
NODE_MODULE_VERSION 67. This version of Node.js requires
NODE_MODULE_VERSION 57. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
at Object.Module._extensions..node (module.js:681:18)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/var/task/node_modules/sharp/lib/constructor.js:10:15)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)

Я считаю, что есть простое решение, но я не уверен, где источник проблемы. Спасибо.

1 Ответ

0 голосов
/ 22 января 2019

Похоже, вы создали node_modules, используя лямбда-несовместимую версию Node.js. Только лямбда поддерживает Node.js 6.10 и 8.10.

Попробуйте изменить версию локального узла на 8.10, удалите node_modules, npm install, включите папку, включающую node_modules, и загрузите ее в lambda. Это должно работать.

...