在node.js中安装sqlite3时出错

Tec*_*ico 5 node.js

我在node.js中安装软件包时遇到问题。我的npm版本是2.14.3,我需要安装sqlite3软件包。在我的proyect路径中,我使用以下命令:“ npm install sqlite3 --save”我遇到下一个错误:

npm WARN package.json node-sqlite@1.0.1无描述npm WARN package.json node-sqlite@1.0.1无存储库字段。npm WARN package.json node-sqlite@1.0.1无自述数据npm WARN package.json node-sqlite@1.0.1无许可证字段。/

sqlite3@3.1.8 install / home / pi / Desktop / node-sqlite_Sockets / node_modules / sqlite3 node-pre-gyp install --fallback-to-build node-pre-gyp ERR!试图下载(403):https : //mapbox-node-binary.s3.amazonaws.com/sqlite3/v3.1.8/node-v46-linux-arm.tar.gz 节点预石膏错误!找不到针对sqlite3@3.1.8和node@4.1.0(node-v46 ABI)的预构建二进制文件(使用node-gyp还原为源代码)使:输入目录'/ home / pi / Desktop / node-sqlite_Sockets / node_modules / sqlite3 / build'ACTION deps_sqlite3_gyp_action_before_build_target_unpack_sqlite_dep Release / obj / gen / sqlite-autoconf-3150000 / sqlite3.c TOUCH Release / obj.target / deps / action_before_build.stamp CC(target)Release / obj.target / sqlite3 / gen sqlite-autoconf-3150000 / sqlite3.o版本/obj/gen/sqlite-autoconf-3150000/sqlite3.c:199451:1:致命错误:打开依赖文件./Release/.deps/Release/obj.target/sqlite3/ gen / sqlite-autoconf-3150000 / sqlite3.odraw:没有终止此类文件或目录的编译。deps / sqlite3.target.mk:120:目标'发布/ obj的配方。target / sqlite3 / gen / sqlite-autoconf-3150000 / sqlite3.o'失败:*** [Release / obj.target / sqlite3 / gen / sqlite-autoconf-3150000 / sqlite3.o]错误1使:离开目录' / home / pi / Desktop / node-sqlite_Sockets / node_modules / sqlite3 / build'gyp ERR!生成错误gyp ERR!堆栈错误:make失败,退出代码:2 gyp ERR!堆栈在ChildProcess.onExit(/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)gyp ERR!堆叠在generateTwo(events.js:87:13)gyp ERR!堆栈在ChildProcess.emit(events.js:172:7)gyp ERR!堆栈在Process.ChildProcess._handle.onexit(internal / child_process.js:200:12)gyp ERR!系统Linux 4.4.21-v7 + gyp ERR!命令“ / usr / local / bin / node”“ /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js”“ build”“ --fallback-to-build”“ --module = / home / pi / Desktop / node-sqlite_Sockets / node_modules / sqlite3 / lib / binding / node-v46-linux-arm / node_sqlite3.node“” --module_name = node_sqlite3“” (/home/pi/Desktop/node-sqlite_Sockets/node_modules/sqlite3/node_modules/node-pre-gyp/lib/util/compile.js:83:29)node-pre-gyp ERR!堆叠在emitTwo(events.js:87:13)节点预gyp ERR!堆栈在ChildProcess.emit(events.js:172:7)节点预gyp ERR!堆栈可能在mayyClose(internal / child_process.js:817:16)节点预gyp错误!堆栈在Process.ChildProcess._handle.onexit(internal / child_process.js:211:5)节点预石膏错误!系统Linux 4.4.21-v7 + node-pre-gyp ERR!命令“ / usr / local / bin / node”“ /home/pi/Desktop/node-sqlite_Sockets/node_modules/sqlite3/node_modules/.bin/node-pre-gyp”“安装”“ --fallback-to-build”节点预石膏错误!cwd / home / pi / Desktop / node-sqlite_Sockets / node_modules / sqlite3 node-gyp ERR错误!node -v v4.1.0 node-pre-gyp ERR!节点pre-gyp -v v0.6。31个节点预gyp错误!不能正常执行'/ usr / local / bin / node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module = /home/pi/Desktop/node-sqlite_Sockets/node_modules/sqlite3/lib/binding/node-v46-linux-arm/node_sqlite3.node --module_name = node_sqlite3 --module_path = / home / pi / Desktop / node-sqlite_Sockets / node_modules / sqlite3 / lib / binding / node-v46-linux-arm'(1)npm错误!Linux 4.4.21-v7 + npm错误!argv“ / usr / local / bin / node”“ / usr / local / bin / npm”“安装”“ sqlite3”“ --save” npm错误!节点v4.1.0 npm ERR!npm v2.14.3 npm错误!代码ELIFECYCLE npm ERR!sqlite3@3.1.8安装:/ usr / local / bin / node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module = / home / pi / Desktop /node-sqlite_Sockets/node_modules/sqlite3/lib/binding/node-v46-linux-arm/node_sqlite3.node --module_name = node_sqlite3 --module_path = / home / pi / Desktop / node-sqlite_Sockets / node_modules / sqlite3 / lib / binding / node-v46-linux-arm'(1)npm ERR!Linux 4.4.21-v7 + npm错误!argv“ / usr / local / bin / node”“ / usr / local / bin / npm”“安装”“ sqlite3”“ --save” npm错误!节点v4.1.0 npm ERR!npm v2.14.3 npm错误!代码ELIFECYCLE npm ERR!sqlite3@3.1.8安装:/ usr / local / bin / node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module = / home / pi / Desktop /node-sqlite_Sockets/node_modules/sqlite3/lib/binding/node-v46-linux-arm/node_sqlite3.node --module_name = node_sqlite3 --module_path = / home / pi / Desktop / node-sqlite_Sockets / node_modules / sqlite3 / lib / binding / node-v46-linux-arm'(1)npm ERR!Linux 4.4.21-v7 + npm错误!argv“ / usr / local / bin / node”“ / usr / local / bin / npm”“安装”“ sqlite3”“ --save” npm错误!节点v4.1.0 npm ERR!npm v2.14.3 npm错误!代码ELIFECYCLE npm ERR!sqlite3@3.1.8安装:节点--module_name = node_sqlite3 --module_path = / home / pi / Desktop / node-sqlite_Sockets / node_modules / sqlite3 / lib / binding / node-v46-linux-arm'(1)npm ERR!Linux 4.4.21-v7 + npm错误!argv“ / usr / local / bin / node”“ / usr / local / bin / npm”“安装”“ sqlite3”“ --save” npm错误!节点v4.1.0 npm ERR!npm v2.14.3 npm错误!代码ELIFECYCLE npm ERR!sqlite3@3.1.8安装:节点--module_name = node_sqlite3 --module_path = / home / pi / Desktop / node-sqlite_Sockets / node_modules / sqlite3 / lib / binding / node-v46-linux-arm'(1)npm ERR!Linux 4.4.21-v7 + npm错误!argv“ / usr / local / bin / node”“ / usr / local / bin / npm”“安装”“ sqlite3”“ --save” npm错误!节点v4.1.0 npm ERR!npm v2.14.3 npm错误!代码ELIFECYCLE npm ERR!sqlite3@3.1.8安装:node-pre-gyp install --fallback-to-buildnpm ERR!退出状态1 npm ERR!npm ERR!在sqlite3@3.1.8安装脚本“ node-pre-gyp install --fallback-to-build”失败。npm ERR!sqlite3软件包npm ERR最有可能是问题!不与npm本身。npm ERR!告诉作者这在您的系统上失败:npm ERR!node-pre-gyp install --fallback-to-build npm ERR!您可以通过以下方式获取其信息:npm ERR!npm所有者ls sqlite3 npm错误!上面可能还有其他日志记录输出。npm ERR!请在支持请求中包含以下文件:npm ERR!
/home/pi/Desktop/node-sqlite_Sockets/npm-debug.log

如果我尝试执行我的node.js程序,则会出现下一个错误:

module.js:338 throw err; ^错误:在Function.Module._resolveFilename(module.js:336上找不到模块'/home/pi/Desktop/node-sqlite_Sockets/node_modules/sqlite3/lib/binding/node-v46-linux-arm/node_sqlite3.node' :15)在Function.Module._load(module.js:286:25)在Module.require(module.js:365:17)在require(模块.js:384:17)在Object。(/home/pi/Desktop/node-sqlite_Sockets/node_modules/sqlite3/lib/sqlite3.js:4:15)位于Object.Module._extensions..js(module._compile(module.js:434:26) .js:452:10)在Module.load(module.js:355:32)在Function.Module._load(module.js:310:12)在Module.require(module.js:365:17)

更新后(npm install -g npm)

npm WARN checkPermissions缺少对/ usr / local / lib / node_modules / npm的写访问权限npm WARN checkPermissions缺少对/ usr / local / lib / node_modules / usr / local / lib的写访问权限??? npm@3.10.9 npm错误!Linux 4.4.21-v7 + npm错误!argv“ / usr / local / bin / node”“ / usr / local / bin / npm”“安装”“ -g”“ npm” npm ERR!节点v4.1.0 npm ERR!npm v3.10.9 npm错误!路径/ usr / local / lib / node_modules / npm npm错误!代码EACCES npm ERR!errno -13 npm错误!syscall访问npm ERR!错误:EACCES:权限被拒绝,访问'/ usr / local / lib / node_modules / npm'npm ERR!错误(本机)npm ERR!{[错误:EACCES:权限被拒绝,访问'/ usr / local / lib / node_modules / npm'] npm错误!errno:-13,npm错误!
代码:“ EACCES”,npm错误!syscall:“访问”,npm错误!路径:'/ usr / local / lib / node_modules / npm'} npm ERR!npm ERR!请尝试以root / Administrator身份再次运行此命令。npm ERR!请在支持请求中包含以下文件:npm ERR!
/home/pi/Desktop/node-sqlite_Sockets/npm-debug.log

有人知道如何解决吗?提前致谢!

最好的祝福。

saa*_*ali 8

这对我在 Windows 10 上有效。

npm uninstall sqlite3
npm cache clean
npm install sqlite3
Run Code Online (Sandbox Code Playgroud)


chr*_*sse 5

你之前在另一个应用程序上安装过 sqlite3 吗?因为您的缓存文件可能已损坏。尝试从您的缓存中删除它npm cache clean sqlite3或清除您的整个缓存npm cache clean并再次运行安装脚本。

编辑:在您编辑您的问题之后。这似乎是一个权限错误。尝试运行 npm updatesudo npm install -g npm

总结:这是一个旧的 npm 版本的问题。更新到较新版本通过运行解决了它sudo npm install -g npm


Sha*_*vid 5

不同的 stackoverflow 线程中的答案都不适合我。

删除了缓存删除了锁定文件,安装了另一个版本的 Node,更新了 NPM等,但都不起作用。也许我的回答是题外话,但如果你只想立即完成工作,你可以使用其他工具(如yarn )安装你想要的包:

yarn add <package>
Run Code Online (Sandbox Code Playgroud)

相当于

npm i --save <package>
Run Code Online (Sandbox Code Playgroud)

例如,SQLite3Sequelize无法使用NPM安装在我的计算机上,而我可以使用Yarn安装。