gpt4 book ai didi

aws-lambda - 在 AWS Lambda 函数 : darwin-x6 4' binaries cannot be used on the ' linux-x64' platform 中运行 Sharp 时出错

转载 作者:行者123 更新时间:2023-12-03 13:44:00 25 4
gpt4 key购买 nike

当尝试在 AWS Lambda 函数内运行时,我不断收到以下错误:

darwin-x64' binaries cannot be used on the 'linux-x64' platform. Please remove the 'node_modules/sharp/vendor' directory and run 'npm install'



我使用 MacBook Pro 中的无服务器框架部署了无服务器应用程序。我该如何解决这个问题?

最佳答案

感谢 stdunbar 引导我朝着正确的方向前进。

当通过 NPM 在 MacOS 上以正常方式(即: npm i sharp --save )安装Sharp 时,安装程​​序会自动为 OS X 添加二进制文件。但 AWS lambda 函数在具有 x64 处理器的 Linux 2 机器上运行,这就是我们收到此错误的原因。

要修复你必须首先完全卸载sharp然后运行:

npm install --arch=x64 --platform=linux sharp

注:

0.25 版不再与目标标志一起使用。这曾经有效:
npm install --arch=x64 --platform=linux --target=10.15.0 sharp

然后像往常一样从无服务器框架使用 sls deploy 进行部署

旁注:

夏普非常快!!!在使用sharp之前,我使用了另一个名为Jimp的图像大小调整实用程序。它完成了工作,但速度很慢。为了防止超时错误,我不得不将内存大小从 128 增加到 512,并将超时从 5 秒增加到 30 秒,以处理典型的 1 兆字节图像。

这是使用相同配置将 1.2Mb 图片缩小到 600x400 的两者之间的比较:

Jimp -> used 512Mb of memory and AWS billed me for 14300 ms.

Sharp -> used 132 MB of memory and AWS billed me for 800 ms.

That's more than 14x faster than Jimp!!!

关于aws-lambda - 在 AWS Lambda 函数 : darwin-x6 4' binaries cannot be used on the ' linux-x64' platform 中运行 Sharp 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60181138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com