在node.js中安装sqlite3时出错

在node.js中安装软件包时遇到问题 我的npm版本是2.14.3,我需要安装sqlite3包。 在我的专业pathIm usign这个命令:“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没有README数据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 node-pre-gyp ERR! 找不到sqlite3@3.1.8和node@4.1.0(node-v46 ABI)的预构build二进制文件(回退到用node-gyp编译的源代码)make:进入目录'/ 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:配方为目标'Release / obj.target / sqlite3 / gen / sqlite-autoconf-3150000 / sqlite3.o'失败make:*** [Release / obj.target / sqlite3 / gen /sqlite-autoconf-3150000/sqlite3.o]错误1 make:离开目录'/ home / pi / Desktop / node -sqlite_Sockets / node_modules / sqlite3 / build'gyp ERR! 构build错误gyp ERR! 堆栈错误:使用退出代码失败:2 gyp ERR! 堆栈在ChildProcess.onExit(/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)gyp ERR! 在emitTwo堆栈(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”“–module_path = / home / pi / Desktop / node-sqlite_Sockets / node_modules / sqlite3 / lib / binding / node-v46-linux-arm“gyp ERR! cwd / home / pi / Desktop / node-sqlite_Sockets / node_modules / sqlite3 gyp ERR! node -v v4.1.0 gyp ERR! node-gyp -v v3.0.3 gyp ERR! 不正确node-pre-gyp ERR! 构build错误node-pre-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 –module_path = / home / pi / Desktop / node-sqlite_Sockets / node_modules / sqlite3 / lib / binding / node-v46-linux-arm'(1)node-pre-gyp ERR! 堆栈在ChildProcess。 (/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)node-pre-gyp ERR! 堆栈在ChildProcess.emit(events.js:172:7)node-pre-gyp ERR! stack at maybeClose(internal / child_process.js:817:16)node-pre-gyp ERR! 堆栈在Process.ChildProcess._handle.onexit(内部/ child_process.js:211:5)node-pre-gyp ERR! 系统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”“install”“–fallback-to-build” node-pre-gyp ERR! cwd / home / pi / Desktop / node-sqlite_Sockets / node_modules / sqlite3 node-pre-gyp ERR! node -v v4.1.0 node-pre-gyp ERR! node-pre-gyp -v v0.6.31 node-pre-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 –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 ERR! argv“/ usr / local / bin / node”“/ usr / local / bin / npm”“install”“sqlite3”“–save”npm ERR! 节点v4.1.0 npm ERR! npm v2.14.3 npm错误! 代码ELIFECYCLE npm ERR! sqlite3@3.1.8安装: node-pre-gyp install --fallback-to-build gyp install node-pre-gyp install --fallback-to-build npm 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! 节点pre-gyp安装 – 下降生成npm ERR! 您可以通过以下方式获取他们的信息:npm ERR! npm所有者ls sqlite3 npm ERR! 上面可能还有其他的日志输出。 npm ERR! 请包括以下文件与任何支持请求:npm ERR!
/home/pi/Desktop/node-sqlite_Sockets/npm-debug.log

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

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

更新后(npm install -g npm)

npm WARN checkPermissions缺less对/ usr / local / lib / node_modules / npm的写入权限npm WARN checkPermissions缺less对/ usr / local / lib / node_modules / usr / local / lib的写入权限└──npm@3.10.9 npm ERR! Linux 4.4.21-v7 + npm ERR! argv“/ usr / local / bin / node”“/ usr / local / bin / npm”“install”“-g”“npm”npm ERR! 节点v4.1.0 npm ERR! npm v3.10.9 npm ERR! path/ usr / local / lib / node_modules / npm npm ERR! 代码EACCES npm ERR! errno -13 npm ERR! 系统调用访问npm ERR! 错误:EACCES:权限被拒绝,访问'/ usr / local / lib / node_modules / npm'npm ERR! 在错误(本机)npm ERR! {[错误:EACCES:权限被拒绝,访问'/ usr / local / lib / node_modules / npm'] npm ERR! errno:-13,npm ERR!
代码:'EACCES',npm ERR! syscall:'access',npm ERR! path:'/ 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

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

最好的祝福。

你有没有在另一个应用程序之前安装sqlite3? 因为您的caching文件可能已损坏。 尝试使用npm cache clean sqlite3将其从caching中删除,或者使用npm cache clean整个caching,然后再次运行安装脚本。

编辑 :编辑你的问题后。 这似乎是一个权限错误。 尝试使用sudo npm install -g npm运行npm更新

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

这对我工作:

  • 首先,我安装了Visual C ++ 2013,然后通过运行npm config set msvs_version 2013 --global全局npm config set msvs_version 2013 --global

  • 然后运行npm install node-gyp -g node-gyp来运行npm install node-gyp -g node-gyp

  • 最后,我通过运行npm install sqlite3安装Sqlite3

希望这可以帮助那些帮助过我的人