我有一个使用 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 不匹配,因此编译的文件位于不同的目录中。