我在 node.js 中安装包时遇到问题。我的 npm 版本是 2.14.3,我需要安装 sqlite3 包。在我的项目路径中,我使用了这个命令:“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 错误!尝试下载(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: Entering directory ‘/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 Release/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”的配方失败制作:*** [Release/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!堆栈错误:
make
失败,退出代码: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 错误! cwd /home/pi/Desktop/node-sqlite_Sockets/node_modules/sqlite3 gyp ERR!节点 -v v4.1.0 gyp 错误!节点-gyp -v v3.0.3 gyp 错误!不好节点预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 错误!堆栈在 emitTwo (events.js:87:13) node-pre-gyp ERR! ChildProcess.emit (events.js:172:7) node-pre-gyp ERR 的堆栈!堆栈可能关闭(内部/child_process.js:817:16)节点预gyp错误!堆栈在 Process.ChildProcess._handle.onexit (internal/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”“安装”“–fallback-to-build”节点预gyp错误! cwd /home/pi/Desktop/node-sqlite_Sockets/node_modules/sqlite3 node-pre-gyp ERR! node -v v4.1.0 node-pre-gyp 错误! node-pre-gyp -v v0.6.31 node-pre-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 ERR! Linux 4.4.21-v7+ npm 错误! argv “/usr/local/bin/node” “/usr/local/bin/npm” “install” “sqlite3” “–save” npm 错误!节点 v4.1.0 npm 错误! npm v2.14.3 npm 错误!代码 ELIFECYCLE npm 错误! sqlite3@3.1.8 安装:node-pre-gyp install --fallback-to-build
npm ERR!退出状态 1 npm ERR! npm 错误! sqlite3@3.1.8 安装脚本“node-pre-gyp install –fallback-to-build”失败。 npm 错误!这很可能是 sqlite3 包 npm ERR 的问题!不是 npm 本身。 npm 错误!告诉作者这在您的系统上失败:npm ERR! node-pre-gyp install –fallback-to-build npm ERR!您可以通过以下方式获取他们的信息:npm ERR! npm 所有者 ls sqlite3 npm 错误!上面可能有额外的日志输出。 npm 错误!请在任何支持请求中包含以下文件:npm ERR!/home/pi/Desktop/node-sqlite_Sockets/npm-debug.log
如果我尝试执行我的 node.js 程序,我会遇到下一个错误:
module.js:338 抛出错误; ^ 错误:在 Function.Module._resolveFilename(module.js:336 :15) 在 Function.Module._load (module.js:286:25) 在 Module.require (module.js:365:17) 在 require (module.js:384:17) 在 Object. (/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) 在 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 ERR! Linux 4.4.21-v7+ npm 错误! argv “/usr/local/bin/node” “/usr/local/bin/npm” “install” “-g” “npm” npm ERR!节点 v4.1.0 npm 错误! npm v3.10.9 npm 错误!路径 /usr/local/lib/node_modules/npm npm ERR!代码 EACCES npm 错误! errno -13 npm 错误!系统调用访问 npm ERR!错误:EACCES:权限被拒绝,访问 ‘/usr/local/lib/node_modules/npm’ npm ERR!在错误(本机)npm ERR! { [错误:EACCES:权限被拒绝,访问’/usr/local/lib/node_modules/npm’] npm ERR!错误号:-13,npm 错误!
代码:’EACCES’,npm 错误!系统调用:’访问’,npm ERR!路径:’/usr/local/lib/node_modules/npm’ } npm 错误! npm 错误!请尝试以 root/管理员身份再次运行此命令。 npm 错误!请在任何支持请求中包含以下文件:npm ERR!
/home/pi/Desktop/node-sqlite_Sockets/npm-debug.log
有人知道如何解决吗?提前致谢!
此致。
原文由 Tecnico 发布,翻译遵循 CC BY-SA 4.0 许可协议
你之前在另一个应用程序上安装过 sqlite3 吗?因为您的缓存文件可能已损坏。尝试使用 — 将其从缓存中删除,或者使用
npm cache clean
npm cache clean sqlite3
清理整个缓存,然后再次运行安装脚本。编辑:在你编辑你的问题之后。这似乎是一个权限错误。尝试使用
sudo npm install -g npm
摘要:这是旧 npm 版本的问题。更新到较新版本通过运行
sudo npm install -g npm
解决了这个问题。