首页 文章

在node.js中安装sqlite3时出错

提问于
浏览
3

我在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没有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)的预构建二进制文件(使用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:*** [发布/ obj.target / sqlite3 / gen /sqlite-autoconf-3150000/sqlite3.o]错误1 make:离开目录'/ home / pi / Desktop / node-sqlite_Sockets / node_modules / sqlite3 / build'gyp ERR!构建错误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! System 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!不好节点-pre-gyp ERR!构建错误节点-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!堆栈在maybeClose(internal / child_process.js:817:16)node-pre-gyp ERR! Process.ChildProcess._handle.onexit(internal / child_process.js:211:5)node-pre-gyp ERR! System 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 ERR!代码ELIFECYCLE npm ERR! sqlite3@3.1.8 install:node-pre-gyp install --fallback-to-build npm ERR!退出状态1 npm ERR!错误的ERR!在sqlite3@3.1.8安装脚本'node-pre-gyp install --fallback-to-build'失败 . 错误的ERR!这很可能是sqlite3包的问题,npm ERR!不是与npm本身 . 错误的ERR!告诉作者你的系统失败了:npm ERR! node-pre-gyp install --fallback-to-build npm ERR!您可以通过以下方式获取他们的信息:npm ERR! npm所有者lssqlite3 npm ERR!上面可能有额外的日志记录输出 . 错误的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)at的require(module.js:384:17) . (/home/pi/Desktop/node-sqlite_Sockets/node_modules/sqlite3/lib/sqlite3.js:4:15)在Module._compile(module.js:434:26)的Object.Module._extensions..js(模块) .js:452:10)在Module.load(module.js:355:32)在Module.require上的Function.Module._load(module.js:310:12)(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.9npm 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!错误:-13,npm ERR!代码:'EACCES',npm ERR!系统调用:'access',npm ERR!路径:'/ usr / local / lib / node_modules / npm'} npm ERR!错误的ERR!请尝试以root / Administrator身份再次运行此命令 . 错误的ERR!请在任何支持请求中包含以下文件:npm ERR! /home/pi/Desktop/node-sqlite_Sockets/npm-debug.log

有人知道怎么解决吗?提前致谢!

最好的祝福 .

2 回答

  • 2

    你有没有在另一个应用程序上安装sqlite3?因为你的缓存文件可能已损坏 . 尝试使用 npm cache clean sqlite3 将其从缓存中删除,或使用 npm cache clean 清除整个缓存并再次运行安装脚本 .

    Edit :编辑完问题后 . 它似乎是一个权限错误 . 尝试使用 sudo npm install -g npm 运行npm更新

    Summary :旧的npm版本存在问题 . 对更新版本的更新通过运行 sudo npm install -g npm 解决了它 .

  • 0

    这对我有用:

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

    • 然后我通过运行 npm install node-gyp -g node-gyp 运行了node-gyp的安装

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

    希望这可以帮助我,因为它帮助了我

相关问题