在node.js

时间:2016-11-07 09:11:06

标签: node.js

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

  

npm WARN package.json node-sqlite@1.0.1 no description npm WARN   package.json node-sqlite@1.0.1没有存储库字段。警告   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:输入目录     ' /家/ PI /桌面/节点sqlite_Sockets / node_modules / sqlite3的/建'     ACTION deps_sqlite3_gyp_action_before_build_target_unpack_sqlite_dep     发布/ obj / gen / sqlite-autoconf-3150000 / sqlite3.c触摸     发布/ obj.target / deps / action_before_build.stamp CC(目标)     发布/ obj.target / sqlite3的/ GEN / SQLite的-autoconf的315万/ sqlite3.o     发布/ obj / gen / sqlite-autoconf-3150000 / sqlite3.c:199451:1:致命     错误:打开依赖项文件     ./Release/.deps/Release/obj.target/sqlite3/gen/sqlite-autoconf-3150000/sqlite3.o.d.raw:     没有这样的文件或目录编译终止。     deps / sqlite3.target.mk:120:目标的配方     '推出/ obj.target / sqlite3的/根/源码-autoconf的3150000 / sqlite3.o'     失败了:***     [发布/ obj.target / sqlite3的/根/源码-autoconf的3150000 / sqlite3.o]     错误1 make:离开目录     ' /家/ PI /桌面/节点sqlite_Sockets / node_modules / sqlite3的/建' GYP     呃!构建错误gyp ERR!堆栈错误:make失败,退出代码:     2吉普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中/节点"     " /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js"     "建立" " - 后退到构建"     " - 模块= /家庭/ PI /桌面/节点sqlite_Sockets / node_modules / sqlite3的/ lib中/结合/节点-V46-Linux的臂/ node_sqlite3.node"     " - MODULE_NAME = node_sqlite3"     " - module_path中= /家庭/ PI /桌面/节点sqlite_Sockets / node_modules / sqlite3的/ LIB /结合/节点-V46-Linux的臂"     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!构建错误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 = /家庭/ PI /桌面/节点sqlite_Sockets / node_modules / sqlite3的/ LIB /结合/节点-V46-Linux的臂/ 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     呃!堆栈在ChildProcess.emit(events.js:172:7)node-pre-gyp     呃!在maybeClose堆栈(内部/ child_process.js:817:16)     node-pre-gyp ERR!在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"     "安装" " - 后退到构建" node-pre-gyp ERR! CWD     / home / pi / Desktop / node-sqlite_Sockets / node_modules / sqlite3 node-pre-gyp     呃! 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 = /家庭/ PI /桌面/节点sqlite_Sockets / node_modules / sqlite3的/ LIB /结合/节点-V46-Linux的臂/ 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" "安装" " sqlite3的" " - 保存"错误的ERR!节点v4.1.0     错误的ERR! npm v2.14.3 npm ERR!代码ELIFECYCLE npm ERR! sqlite3@3.1.8     安装: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     呃! node-pre-gyp install --fallback-to-build npm ERR!你可以得到     他们的信息来自:npm ERR! npm owner ls sqlite3 npm ERR!有     可能是上面的额外日志输出错误的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)at   Module.require中的Function.Module._load(module.js:286:25)   (module.js:365:17)at对象的require(module.js:384:17)。   (/home/pi/Desktop/node-sqlite_Sockets/node_modules/sqlite3/lib/sqlite3.js:4:15)   at Module._compile(module.js:434:26)at Object.Module._extensions..js   (module.js:452:10)在Module.load(module.js:355:32)at   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.9   错误的ERR! Linux 4.4.21-v7 +   错误的ERR! argv" / usr / local / bin / node" " / usr / local / bin / npm" "安装"   " -g" " NPM"错误的ERR!节点v4.1.0 npm ERR! npm v3.10.9 npm ERR!路径   在/ usr / local / lib目录/ node_modules / NPM   错误的ERR!代码EACCES npm ERR! errno -13   错误的ERR!系统调用访问   错误的ERR!错误:EACCES:权限被拒绝,访问权限   '在/ usr /本地/ LIB / node_modules / NPM'错误的ERR!在错误(本机)npm   呃! {[错误:EACCES:权限被拒绝,访问权限   ' / usr / local / lib / node_modules / npm'] npm ERR!错误:-13,npm ERR!
  代码:' EACCES',npm ERR!系统调用:'访问',npm ERR!路径:   '在/ usr /本地/ LIB / node_modules / NPM' } npm ERR!错误的ERR!请试试   以root / Administrator再次运行此命令。错误的ERR!请   包含以下任何支持请求的文件:npm ERR!
  /home/pi/Desktop/node-sqlite_Sockets/npm-debug.log

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

最好的问候。

4 个答案:

答案 0 :(得分:2)

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

修改:编辑完问题后。它似乎是一个权限错误。尝试使用sudo npm install -g npm

运行npm更新

摘要:这是旧版npm版本的问题。对更新版本的更新通过运行sudo npm install -g npm来解决了这个问题。

答案 1 :(得分:1)

这在 Windows 10 上对我有用。

npm uninstall sqlite3
npm cache clean
npm install sqlite3

答案 2 :(得分:0)

这对我有用:

  • 首先,我安装了Visual C ++ 2013,然后通过运行进行全局配置 public class TV { public int channelNumber = 11; public int getChannelNumber() { return channelNumber; } public void addToChannelsHistory(int channnelNumber) { Queue<Integer> fifo = new CircularFifoQueue<Integer>(3); fifo.add(channnelNumber); System.out.print(fifo); } public static void main(String[] args) { TV tv = new TV(); tv.addToChannelsHistory(11); tv.addToChannelsHistory(22); tv.addToChannelsHistory(33); tv.addToChannelsHistory(44); tv.addToChannelsHistory(55); } }

  • 然后我通过运行npm config set msvs_version 2013 --global

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

  • 安装了Sqlite3

希望这有助于帮助我的人

答案 3 :(得分:0)

在不同的stackoverflow线程中没有答案对我有用。

删除了缓存删除了锁定文件,安装了另一个版本的Node 更新了NPM ,等等,但是没有一个起作用。也许我的回答是题外话,但是如果您只是想立即完成工作,则可以使用 yarn

之类的其他工具来安装所需的软件包。
yarn add <package>

等同于

npm i --save <package>

例如,无法使用 NPM SQLite3 Sequelize 安装在我的计算机上,而我可以通过 Yarn < / em>。