amazon-web-services - AWS Lambda 函数不适用于 sequelize 和 sqlite3

标签 amazon-web-services sequelize.js node-sqlite3

我有一个 AWS Lambda 函数,它使用带有 sqlite 的 sequelize。该应用程序在本地(Mac)运行良好,但是当我将其部署到 Lambda 时,出现错误:
Please install sqlite3 package manually
看起来错误来自 Sequelize :

  "stackTrace": [
    "new ConnectionManager (/var/task/node_modules/sequelize/lib/dialects/sqlite/connection-manager.js:22:21)",
    "new SqliteDialect (/var/task/node_modules/sequelize/lib/dialects/sqlite/index.js:14:30)",
    "new Sequelize (/var/task/node_modules/sequelize/lib/sequelize.js:320:20)",
(...)

sqlite3 在 package.json 中。

我知道 sqlite3 有二进制依赖,需要用 node-gyp 编译。我尝试通过使用 Vagrant Linux 机器从 node_modules 中的 sqlite3 文件夹中运行 node-pre-gyp 来手动编译 sqlite3,但我仍然收到错误消息。

最佳答案

发现问题:我在本地使用的node版本与AWS不匹配,因此编译后的文件在不同的目录中。

关于amazon-web-services - AWS Lambda 函数不适用于 sequelize 和 sqlite3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57015101/

相关文章:

javascript - Node.js AWS SNS 订阅、确认

node.js - 如何通过 Node js中的 Sequelize 更新关联记录?

javascript - Sequelize 模型查询 - 为什么两条路线不能同时工作?

node.js - Electron 应用程序渲染器进程在加载新的 html 页面时崩溃

javascript - Electron Js - 主进程发生javascript错误

azure - 管理大文件下载的最佳方式

bash - 如何使用 bash 命令将 EMR 步骤添加到 cloudformation

amazon-web-services - 使用 AWS Elastic Beanstalk 与 AWS CodeDeploy 的自动化

node.js - NodeJS Sequelize 和 FindAll 以及 Include 和约束

node.js - 错误: Cannot find module\node_modules\sqlite3\lib\binding\electron-v8. 0-win32-x64\node_sqlite3.node'