【发布时间】:2020-09-14 06:08:26
【问题描述】:
通过 webpack 打包时,带有 typescript 的 aws lambda 发生错误。
在捆绑 webpack 之前,我做了“npm i --arch=x64 --platform=linux --target=12.14.1 sharp”,labmda 工作正常。
但是,lambda 上传的 zip 大小越来越大。
所以,我想使用 serverless-webpack 调整 lambda 上传 zip 的大小。
Image lambda 除了使用 sharp 模块外运行良好。
我不知道该怎么做。
我做到了:
- 删除 node_modules 和 package-lock.json 并安装依赖项(也安装了 sharp)
- 删除 node_modules/sharp 并安装 sharp(lambda 环境 - linux, x64, node 版本)
- 在 serverless 中设置 serverless-webpack 配置 : packagerOptions ( scrips ) - 重建清晰的 lambda 环境
但是,lambda 不能正常工作。
我看了很多资料。
[lambda linux 环境]
Error running Sharp inside AWS Lambda function: darwin-x64' binaries cannot be used on the 'linux-x64' platform
[无服务器-webpack]
https://github.com/serverless-heaven/serverless-webpack/issues/396
谢谢!
[编辑]
我的本地环境:Mac
生产环境:linux
也许,我认为带有“--platform”的 npm 命令在 mac 中不起作用。
另外,我使用 aws codebuild 解决了这个问题。
我发布了答案。
但是,它在我的本地 [Mac] 中不起作用
【问题讨论】:
标签: node.js webpack aws-lambda sharp