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

升级Node.js 18.x后AWS SDK v3语法报错:模块未找到

解决AWS Lambda Node.js 18.x下AWS SDK v3「模块未找到」问题

排查与修复步骤

  • 确认依赖安装路径
    确保@aws-sdk/client-s3等SDK v3包安装在项目根目录(而非全局),执行命令:

    npm install @aws-sdk/client-s3 --save
    

    检查项目根目录下的node_modules文件夹,确认存在@aws-sdk子目录。

  • 配置Serverless打包规则
    Serverless 2.x默认可能不会自动打包所有依赖,需在serverless.yml中明确配置:

    package:
      individually: false # 按需设为true,但需确保依赖被包含
      include:
        - node_modules/** # 显式指定包含依赖目录
    

    若启用individually: true,需为每个函数单独配置依赖包含规则。

  • 验证package.json依赖声明
    确认package.json的dependencies中存在正确的SDK v3包,示例:

    {
      "dependencies": {
        "@aws-sdk/client-s3": "^3.400.0"
      }
    }
    

    不要将依赖放在devDependencies中,Serverless打包生产环境时会忽略该目录下的包。

  • 清理缓存重新打包
    删除旧依赖文件与锁文件,重新安装并部署:

    rm -rf node_modules package-lock.json
    npm install
    serverless deploy
    

    此操作可避免依赖缓存或版本冲突引发的问题。

  • 检查Lambda层配置(若使用)
    若SDK v3部署在Lambda层中,确认层已正确发布,且目标函数已关联该层。同时检查层内nodejs/node_modules目录是否包含所需SDK包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 14:32:33