我有一个 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/