如何在运行 Node.js 的 Debian 上安装 sqlite3?

Posted

技术标签:

【中文标题】如何在运行 Node.js 的 Debian 上安装 sqlite3?【英文标题】:How to install sqlite3 on Debian running Node.js? 【发布时间】:2016-12-10 01:23:38 【问题描述】:

我的 Windows 电脑上有一个运行 nodejs 的 debian vm,问题是 sqlite3 不会安装在我的应用程序 (mediacenterjs) 上,但可以在全球范围内完美安装。

这是我的日志文件npm-debug.log的一部分:

/opt/mediaCenter1/node_modules/.staging/node-pre-gyp-445d3086 4883 信息生命周期节点-pre-gyp@0.6.14~安装:节点-pre-gyp@0.6.14 4884 愚蠢的生命周期 node-pre-gyp@0.6.14~install: 没有安装脚本,继续 4885傻安装sqlite3@3.1.1 /opt/mediaCenter1/node_modules/.staging/sqlite3-f2e19105 4886 信息生命周期 sqlite3@3.1.1~安装:sqlite3@3.1.1 4887 详细生命周期 sqlite3@3.1.1~安装:生命周期中的不安全烫发假 4888 详细生命周期 sqlite3@3.1.1~install: PATH: /root/.npm-global/lib/node_modules/npm/bin/node-gyp-bin:/opt/mediaCenter1/node_modules/sqlite3/node_modules/.bin:/ opt/mediaCenter1/node_modules/.bin:/usr/local/bin:/root/.npm-global/bin:/root/bin:/root/bin:/usr/lib/git-core:/usr/local/ sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 4889 详细生命周期 sqlite3@3.1.1~安装:CWD:/opt/mediaCenter1/node_modules/sqlite3 4890 愚蠢的生命周期 sqlite3@3.1.1~安装:参数:['-c','node-pre-gyp install --fallback-to-build'] 4891 愚蠢的生命周期 sqlite3@3.1.1~install:返回:代码:1 信号:null 4892 info 生命周期 sqlite3@3.1.1~install: 无法执行安装脚本 4893 使用 /root/.npm/_locks/staging-fbc9d3a61073e2fa.lock 为 /opt/mediaCenter1/node_modules/.staging 完成详细解锁 4894 傻回滚失败可选启动 4895 傻回滚Failed 可选整理 4896 傻跑TopLevelLifecycles 开始 第4897章 傻跑TopLevelLifecycles整理 4898 傻安装 printInstalled 4899 警告 mediacenterjs@0.1.3 许可证应该是有效的 SPDX 许可证表达式 4900 详细堆栈错误:sqlite3@3.1.1 安装:`node-pre-gyp install --fallback-to-build` 4900 详细堆栈退出状态 1 EventEmitter 的 4900 详细堆栈。 (/root/.npm-global/lib/node_modules/npm/lib/utils/lifecycle.js:242:16) 4900 详细堆栈在 emitTwo (events.js:106:13) EventEmitter.emit (events.js:191:7) 的 4900 详细堆栈 ChildProcess 的 4900 详细堆栈。 (/root/.npm-global/lib/node_modules/npm/lib/utils/spawn.js:40:14) 4900 详细堆栈在 emitTwo (events.js:106:13) ChildProcess.emit (events.js:191:7) 的 4900 详细堆栈 可能关闭时的 4900 详细堆栈(内部/child_process.js:850:16) Process.ChildProcess._handle.onexit (internal/child_process.js:215:5) 的 4900 详细堆栈 4901 详细 pkgid sqlite3@3.1.1 4902 详细 cwd /opt/mediaCenter1 4903 错误 Linux 3.16.0-4-amd64 4904 错误 argv “/usr/local/bin/node” “/root/.npm-global/bin/npm” “安装” “sqlite3” 4905 错误节点 v6.2.0 4906 错误 npm v3.10.5 4907 错误代码 ELIFECYCLE 4908 错误 sqlite3@3.1.1 安装:`node-pre-gyp install --fallback-to-build` 4908 错误 退出状态 1 4909 错误在 sqlite3@3.1.1 安装脚本“node-pre-gyp install --fallback-to-build”处失败。 4909 错误确保您安装了最新版本的 node.js 和 npm。 4909 错误 如果你这样做,这很可能是 sqlite3 包的问题, 4909 错误与 npm 本身无关。 4909错误告诉作者这在你的系统上失败了: 4909 错误 node-pre-gyp 安装 --fallback-to-build 4909 错误您可以通过以下方式获取有关如何为此项目打开问题的信息: 4909 错误 npm 错误 sqlite3 4909 错误 或者如果这不可用,您可以通过以下方式获取他们的信息: 4909 错误 npm 所有者 ls sqlite3 4909 错误 上面可能有额外的日志记录输出。 4910 详细退出 [1,真]

【问题讨论】:

【参考方案1】:

在debian中

sudo apt-get install node-sqlite3

【讨论】:

【参考方案2】:

使用命令npm安装sqlit3,详细教程为here:

npm install --build-from-source --runtime=node-webkit --target_arch=ia32 --target=$(NODE_WEBKIT_VERSION)

【讨论】:

以上是关于如何在运行 Node.js 的 Debian 上安装 sqlite3?的主要内容,如果未能解决你的问题,请参考以下文章

在Debian 7 Wheezy(WM)上安装node.js失败

即使没有其他进程阻塞该端口,Node.js 应用程序也无法在端口 80 上运行

Node.js + Socket.io 超出最大调用堆栈大小

HTTP 服务器在一段时间后停止(Node.js)

Ubuntu/Debian 微信安装

node.js如何运行