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

AWS Lambda部署后找不到node-fetch依赖但本地运行正常如何解决

AWS Lambda部署后找不到node-fetch依赖问题解决方案

这个报错的核心原因是Lambda运行环境的工作目录下没有安装node-fetch依赖,本地运行正常是因为本地开发环境的node_modules目录中已经存在该依赖,和部署包的内容不一致导致的,可按以下步骤排查解决:

  • 检查部署包结构
    你上传到Lambda的zip压缩包根目录必须同时包含业务代码文件和node_modules文件夹,不能仅上传单个js文件,也不能将代码和依赖放在子目录中打包。你可以手动解压本地打包好的zip文件,确认根目录下存在node_modules/node-fetch路径,不存在则需要重新打包。
  • 核对package.json依赖配置
    确认node-fetch是写在dependencies字段下而非devDependencies字段,如果你部署前执行的是npm install --production命令,devDependencies下的依赖不会被安装到node_modules中。
  • 处理node-fetch版本兼容问题
    v3及以上版本的node-fetch为纯ESM包,仅支持import语法导入,如果你的Lambda运行时使用的是Node.js 12及更低版本,或者配置了CommonJS模块模式,会出现加载失败的问题,可降级到同时支持两种模块规范的v2版本,执行命令npm install node-fetch@2安装即可。
  • 排查Lambda层配置(若使用层管理依赖)
    如果你使用Lambda层(Layer)统一管理公共依赖,需要确认node-fetch是安装在层目录的nodejs/node_modules路径下,且该层已经正确绑定到你的Lambda函数上,运行时拥有层文件的读取权限。
  • 内置fetch替代方案
    如果你的Lambda使用的是Node.js 18及以上版本运行时,已经内置了全局fetch方法,无需额外安装node-fetch依赖,直接删除import fetch from 'node-fetch'引入语句即可正常使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 19:45:01