mysql - 给出 mysql 错误的 Lambda 函数找不到模块 'mysql' 不是函数,即使将其包含在 zip 中也是如此
问题描述
我使用以下方法创建了一个 lambda 函数。
在我运行的一个新文件夹中
npm init
初始化一个新项目然后我将我的代码添加到 index.js 并运行
npm install mysql --save
将 mysql 包保存到本地。在此之后,我压缩了这个新文件夹的内容并将 zip 上传到 lambda 函数。
我在控制台中使用 test 运行测试并收到此错误。
{ "errorType": "Error", "errorMessage": "找不到模块 'mysql'\n需要堆栈:\n- /var/task/index.js\n- /var/runtime/UserFunction.js\n- / var/runtime/index.js", "trace": [ "错误: 找不到模块 'mysql'", "需要堆栈:", "- /var/task/index.js", "- /var/runtime/ UserFunction.js", "- /var/runtime/index.js", "在 Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)", "在 Function.Module._load (internal /modules/cjs/loader.js:725:27)", "在 Module.require (internal/modules/cjs/loader.js:952:19)", "在 require (internal/modules/cjs/helpers.js :88:18)", "在 Runtime.exports.handler (/var/task/index.js:4:17)", " 在运行时。处理一次 (/var/runtime/Runtime.js:66:25)" ] }
解决方案
似乎问题是上传的 zip 文件不包含mysql
您安装的软件包,或者您的代码正在寻找依赖项的路径不正确。
您可以通过下载 zip 文件来验证这一点。
正如你没有提到你是如何部署所有这些资源的。
我建议使用任何框架,
它负责打包您的依赖项,您可以放心地部署它们。
推荐阅读
- azure-language-understanding - LUIS 无法获取正确的实体
- python - 如何在不评估函数的情况下获取函数返回值的维度
- c# - C# 无法读取数据集中的 xml
- highcharts - 图表未导出到 XLS 文件 - Highcharts
- delphi - 如何在 Windows 7 或更高版本中正确获取系统语言
- c# - “序列不包含匹配元素”我在执行 Linq 代码时收到此错误
- python - 解析 dbus 监视器输出消息
- javascript - 填充输入字段时更改按钮的颜色
- mobx - mobx 的 createTransformer 和 mobx-utils computedFn 有什么区别?
- javascript - 如何在 Web Speech API 中获取特定的女性语音语音合成?