You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Lex调用Lambda函数报错:/opt/sls-sdk-node/exec-wrapper.sh不存在

AWS Lambda exec-wrapper.sh 缺失问题排查与解决

1. exec-wrapper.sh 是什么?

这是Serverless Framework(SLS)部署Lambda函数时自动注入的脚本,属于sls-sdk-node工具链的一部分,用来在Lambda执行前初始化Serverless提供的监控、日志采集等扩展能力,是部署过程中自动添加到Lambda执行环境/opt目录的辅助执行文件。

2. 为什么会突然消失?

  • 部署流程缓存或版本问题:如果你的Serverless Framework版本被自动更新,或者部署时本地/云端缓存失效,可能导致部署过程中没有正确把这个脚本打包到Lambda的部署包或关联层中。
  • Lambda层异常:若sls-sdk-node是作为Lambda层部署的,层可能被意外删除、版本更新失败,或者函数关联的层版本被误改,导致/opt目录下的脚本丢失。
  • AWS部署服务临时故障:极少情况下,Lambda的部署同步服务出现异常,导致部署包/层的内容没有正确加载到执行环境。

3. 解决方法

  • 重新执行部署:用Serverless Framework重新运行serverless deploy命令,确保完整完成部署流程,重新注入exec-wrapper.sh脚本。
  • 检查并修复Lambda层:
    • 确认函数关联的sls-sdk-node层是否存在、版本是否正确;如果层损坏,重新构建并上传该层,再关联到函数。
    • 查看层的内容,确保/opt/sls-sdk-node/exec-wrapper.sh存在,若缺失则重新打包层内容。
  • 回滚到正常版本:如果之前的函数版本运行正常,直接切换到历史版本恢复执行环境,再排查部署环节的问题。
  • 关闭Serverless SDK自动注入:如果不需要Serverless的监控等功能,可以在serverless.yml中添加配置关闭SDK注入,之后重新部署:
    provider:
      name: aws
      runtime: nodejs18.x # 替换为你的运行时版本
      serverlessSdk:
        disable: true
    

内容的提问来源于stack exchange,提问作者Karim Fayed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 15:55:20