提问者:小点点

Lambda函数给出mysql错误时找不到模块'mysql'不是一个函数,即使它包含在zip中


我使用以下方法创建了一个lambda函数。

>

  • 在我运行的新文件夹中

    npm初始化
    初始化新项目

    然后我将代码添加到index.js并运行

    npm安装mysql--save
    在本地保存mysql包。

    在此之后,我压缩了这个新文件夹的内容,并将压缩上传到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/runtime/userfunction.js”,“-/var/runtime/userfunction.js”,“-/var/runtime/index.js”,“at


  • 共1个答案

    匿名用户

    问题似乎是上传的zip文件不包含您安装的mysql包,或者您的代码查找依赖项的路径不正确。

    您可以通过下载zip文件来验证这一点。

    因为您没有提到如何部署所有这些资源。

    我建议使用任何框架,

    1. 无服务器框架
    2. AWS SAM

    它负责打包依赖项,您可以放心地部署它们。

    在使用AWS Lambda的NodeJS中找不到MySQL