首页 > 解决方案 > 在 AWS lambda 中找不到模块“slugid”

问题描述

我有一个使用 的 lambda 函数,const logger = require('../utils/logger').Logger;这是我能够在任何引用的地方找到的唯一组件,slugid它是一个 npm 模块。

在 package.json 文件中,我slugid在依赖项和开发依赖项中都看到了。为什么这在 lambda 中不起作用?任何帮助表示赞赏。

错误信息如下

"errorType": "Runtime.ImportModuleError",
"errorMessage": "Error: Cannot find module 'slugid'\nRequire stack:\n- /var/task/utils/logger.js\n- ...

标签: amazon-web-servicesnpmaws-lambda

解决方案


通常,如果 lambda 函数依赖于外部依赖项,您必须自己将它们捆绑在您的 lambda 函数部署包中,如 aws docs中所述:

如果您的函数依赖于 SDK for JavaScript 以外的库,请使用 npm 将它们安装到本地目录,并将它们包含在您的部署包中。


推荐阅读