AWS Lambda 函数不适用于 sequelize 和 sqlite3



我有一个使用 sqlite 续集的 AWS Lambda 函数。应用程序在本地 (Mac( 运行良好,但当我将其部署到 Lambda 时,出现错误:

Please install sqlite3 package manually

看起来错误来自续集:

  "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 机器从 sqlite3 文件夹中运行 node-pre-gyp 来手动编译 sqlite3,node_modules,但我仍然收到错误。

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

最新更新