当前位置: 首页 > 知识库问答 >
问题:

运行Sharp inside AWS Lambda函数时出错:Darwin-x64'二进制文件不能在'Linux-x64'平台上使用

相德宇
2023-03-14

我用MacBook Pro中的无服务器框架部署了我的无服务器应用程序。如何修复此问题?

共有1个答案

马浩淼
2023-03-14

感谢stdunbar为我指引了正确的方向。

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

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

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

然后使用SLS deploy按常规从无服务器框架进行部署

附注:

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

以下是使用相同配置将1.2MB图片大小调整为600x400时两者之间的比较:

Jimp->使用了512MB内存,AWS为我计费14300毫秒。

夏普->使用了132 MB的内存,AWS给我开出了800 ms的账单。

 类似资料:
  • 测试二进制是精细的npm WARN rollback回滚节点pre-gyp@0.12.0失败(这可能是无害的): EPERM:不允许操作,lstat'C:\Users\orca yoon\Documents\IonicProjects\starters\epic\node\u modules\fsevents\node\u modules' npm通知创建了一个锁文件作为包锁。json。你应该提交

  • 问题内容: 我对linux和shell编写非常陌生。我正在尝试使用以下命令从linux上的安全shell(ssh)运行shellscript: 我收到此错误: 尝试使用此命令: 我犯了同样的错误。 尝试使用此命令: 询问我的密码并给我这个错误:。 1. cat -v path / to / mynewshell.sh的结果是:^ @ ^ @ ^ @ ^ @ ^ @ ^ @ ^ @ ^ @ Rscr

  • amh在Debian 11 x64安装时报错。 --2023-11-16 07:33:36-- https://dl.amh.sh/amh.sh Resolving dl.amh.sh (dl.amh.sh)... 45.79.70.161 Connecting to dl.amh.sh (dl.amh.sh)|45.79.70.161|:443... connected. ERROR: The

  • 我发现一个错误发生了。请参阅日志文件。我再次尝试安装Eclipse,但每次都出现同样的问题。即使在再次安装JDK之后,也会显示相同的错误。

  • 问题内容: 我用Java编写了AWS Lambda函数。我用来上传Lambda 的工具(Terraform)想要使用jar文件的SHA-256哈希值来跟踪是否需要上传新版本的Lambda。 问题在于,不同OS平台(Windows和Linux)上的不同JDK创建的字节码略有不同(即使使用相同的JDK“更新”版本)。这意味着,如果我在Windows上上传了一个lambda,然后在Linux上重新运行了

  • 问题内容: 我正在尝试在Thethought Python Distribution(EPD)上安装Theano,但出现一个奇怪的错误。这是我的安装内容: 我已将EPD安装到。 之后,我已经使用安装了 我通过使用安装了Theano 要测试,我开始输入。我收到以下错误: g++ -shared -g -IC:\Python27\lib\site-packages\numpy\core\include