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

AWS Lambda Layer导入jsonwebtoken报Cannot find module错误如何解决

AWS Lambda Layer 模块无法加载解决方案

核心根因:压缩层级错误

你使用的zip -r LambdaLayer.zip LambdaLayer/命令会将LambdaLayer/作为根目录打包进压缩包,导致最终Layer解压后的路径为/opt/LambdaLayer/nodejs/node_modules,而Node.js 14.x 运行时默认只会从/opt/nodejs/node_modules路径加载Layer中的依赖,因此找不到模块。

正确操作步骤

  1. 进入存放nodejs/目录的外层文件夹,直接压缩nodejs/目录本身,不要包含额外的父级目录:
cd LambdaLayer/
zip -r ../LambdaLayer.zip nodejs/
  1. 验证压缩包结构是否符合要求,执行以下命令查看压缩包内的文件层级:
unzip -l LambdaLayer.zip

输出结果中nodejs/必须直接处于压缩包根目录,示例如下:

Archive:  LambdaLayer.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  2024-01-01 10:00   nodejs/
        0  2024-01-01 10:00   nodejs/package.json
        0  2024-01-01 10:00   nodejs/package-lock.json
        0  2024-01-01 10:00   nodejs/node_modules/
        0  2024-01-01 10:00   nodejs/node_modules/jsonwebtoken/

其他校验项

  • 你尝试的nodejs/node14/node_modules结构为多运行时版本兼容的自定义配置,官方标准Node.js 14.x运行时不需要额外增加node14层级,保持nodejs/node_modules结构即可
  • 确认Lambda函数已关联对应版本的Layer,关联操作完成后需要重新部署函数配置才会生效
  • 确认jsonwebtoken依赖安装完整,没有出现npm安装中断导致的文件缺失问题
  • 确认Layer和Lambda函数部署在同一AWS区域,跨区域无法正常关联使用

内容的提问来源于stack exchange,提问作者Michael Boñon

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 06:45:04