1

我有一个使用 sequelize 和 sqlite 的 AWS Lambda 函数。该应用程序在本地(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,但我仍然遇到错误。

4

1 回答 1

0

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

于 2019-07-13T00:15:17.000 回答