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

Node.js报错Runtime.ImportModuleError找不到jmespath模块如何修复

AWS Node.js程序引入jmespath报模块找不到错误修复

问题相关代码

const AWS = require('aws-sdk');
var jmespath = require('jmespath');

核心报错信息

"errorType": "Runtime.ImportModuleError",
"errorMessage": "Error: Cannot find module 'jmespath'\nRequire stack:\n- /var/task/aaa.js\n- /var/task/aaa.js\n- /var/runtime/UserFunction.js\n- /var/runtime/Runtime.js\n- /var/runtime/index.js"

报错原因

Node.js运行环境在代码部署目录下找不到jmespath模块,AWS Lambda默认运行环境没有全局预装这个第三方包,AWS SDK内部自带的jmespath属于SDK的私有依赖,业务代码无法直接引用。

修复步骤

  • 进入本地项目根目录执行依赖安装命令,将jmespath写入正式依赖列表,不要加全局安装参数
    npm install jmespath --save
    
  • 打包部署到Lambda时,确保压缩包根目录同时包含业务代码文件(比如示例里的aaa.js)、package.json文件、安装生成的node_modules文件夹,不要给这些文件套额外的外层父目录,否则运行时会匹配不到依赖路径。
  • 如果你使用Lambda Layer管理公共依赖,需要确保层内的jmespath存放路径符合Node.js模块查找规则:解压后路径为nodejs/node_modules/jmespath,同时确认层已经正确关联到当前函数,且层适配的Node.js版本和函数运行时版本完全一致。
  • 安装完成后本地先执行node aaa.js验证,本地运行不再报模块找不到错误后,再重新打包部署即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 01:03:36