gpt4 book ai didi

javascript - 找不到模块 '/home/container/node_modules/sqlite3/lib/binding/napi-v3-linux-x64/node_sqlite3.node'

转载 作者:行者123 更新时间:2023-12-05 03:44:26 25 4
gpt4 key购买 nike

一切都在我的电脑上通过 cmd 完美运行,但是当我将它托管在我的主机服务器上时,我遇到了这个错误:

`:/home/container$ npm start knexfile.js在 Node.js 12.19.1 (x64) 上启动 Modmail 3.3.0正在从 config.ini 加载配置...配置还行!使用 SQLite 数据库:/home/container/db/data.sqliteKnex:运行$ npm install sqlite3 --保存找不到模块“/home/container/node_modules/sqlite3/lib/binding/napi-v3-linux-x64/node_sqlite3.node”需要堆栈:

  • /home/container/node_modules/sqlite3/lib/sqlite3-binding.js
  • /home/container/node_modules/sqlite3/lib/sqlite3.js
  • /home/container/node_modules/knex/lib/dialects/sqlite3/index.js
  • /home/container/node_modules/knex/lib/knex.js
  • /home/container/node_modules/knex/lib/index.js
  • /home/container/node_modules/knex/knex.js
  • /home/container/src/knex.js
  • /home/container/src/main.js
  • /home/container/src/index.js`

最佳答案

SQLite3 需要一个特定于目标系统架构的库。如果你安装 npm 包,它会尝试从它的源代码构建这个库,在目标机器上“实时”。如果目标系统没有安装必要的 C 编译器和构建工具,这可能会失败。

如果您尝试将您的 node_modules 文件夹上传到目标机器,这仅在开发机器和生产机器具有相同架构的情况下才有效。因此,将模块从您的开发机器 (Windows) 上传到目标机器 (Linux) 在您的场景中不起作用。

一种解决方案是在目标机器上安装所有必要的构建工具,删除 node_modules/sqlite3 文件夹并使用 npm install 重试包安装。

解决方法是在不同的 Linux 机器或等效的 docker 容器上编译必要的 Linux 库,然后将其上传到目标机器。

成功 npm install 后,可以在此文件夹中找到适用于 Linux AMD64 架构的文件:node_modules/sqlite3/lib/binding/napi-v3-linux-x64

如果以上都不适合您,您将找到我现在在 http://hosting134516.a2e37.netcup.net/napi-v3-linux-x64/node_sqlite3.node 编译的 SQLite3@5.0.2 版本。但请注意,这可能仅适用于 SQLite3 的 5.0.2 版本。

问候,亚历克斯

关于javascript - 找不到模块 '/home/container/node_modules/sqlite3/lib/binding/napi-v3-linux-x64/node_sqlite3.node',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66438366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com