Lambda:模块初始化错误:错误

时间:2018-12-12 09:19:48

标签: node.js aws-lambda aws-serverless

部署Lambda函数时出现此错误:

module initialization error: Error
at Error (native)
at Object.Module._extensions..node (module.js:597:18)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at bindings (/var/task/node_modules/bindings/bindings.js:84:48)
at Object. (/var/task/node_modules/sharp/lib/constructor.js:10:34)
at Module._compile (module.js:570:32)

serverless.yml和package.json: https://github.com/A-Atrash/forfilesharingtohandleerror。 这是与节点。在添加新程序包ImageMagick并将其用作图像验证之前,它曾经可以工作。有想法吗?

2 个答案:

答案 0 :(得分:1)

我相信您是在非Linux环境(例如Windows或MacOS)中创建Lambda软件包的。

ImageMagick使用本机模块,因此当您执行npm install时,它将针对当前环境进行编译。如果您使用的是Windows或MacOS,则此编译包将无法在Lambda(使用Linux)上运行。

要使其正常工作,必须在Linux环境中创建您的Lambda程序包,然后从那里上载。

答案 1 :(得分:0)

就我而言,是source-map-support软件包丢弃了实际的错误消息和堆栈跟踪。 一旦我注释掉source-map-support程序包导入行,该错误就会开始显示实际的错误消息和堆栈跟踪。