首页 > 解决方案 > JS-libp2p 教程文档“错误:找不到模块‘libp2p’”

问题描述

我想开始学习使用 libp2p,因此启动了教程文档并立即遇到了问题。

文档:https ://docs.libp2p.io/tutorials/getting-started/javascript/

跟着我到了“Run Libp2p”标题。运行脚本我收到错误消息Error: Cannot find module 'libp2p'

安装模块时sudo npm install libp2p出现错误读数:

ursaNative bindings compilation fail. This is not an issue. Modules that depend on it will use fallbacks. fs.js:115 throw err; ^

Error: EACCES: permission denied, open './stdout.log'
at Object.openSync (fs.js:439:3)
at Object.writeFileSync (fs.js:1190:35)
at Object.<anonymous> (/home/foss/hello-libp2p/node_modules/ursa-optional/rebuild.js:13:10)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
at startup (internal/bootstrap/node.js:283:19)
npm WARN hello-libp2p@1.0.0 No description
npm WARN hello-libp2p@1.0.0 No repository field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ursa-optional@0.10.1 install: `node rebuild.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the ursa-optional@0.10.1 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-03-29T11_05_48_715Z-debug.log

`

我不太确定为什么错误的权限被拒绝部分,因为它是作为 sudo 运行的。问题似乎围绕着那个 ursa 脚本。虽然它可能是可选的,但我不确定。使用过 libp2p 的人以前见过这个吗?

我在 ubuntu 19.10 上使用 node12.16.1 和 npm6.13.4

标签: node.jslibp2p

解决方案


弄清楚了。需要,而不是sudo npm i libp2p在手动安装二进制文件后运行,我必须跳过 sudo 并且一切正常。这会导致一个问题,因为我现在无法全局安装模块,因为使用 sudo 会抛出 no npm command found.... 我不太确定如何将 npm 路径添加回 sudo 的命令中,或者为什么 npm 是sudo 中不存在,但经常出现....这很奇怪。其他原生支持 node v12 而不是 v10 的发行版可能会解决这个问题。希望 20.04lts 能解决这个问题。


推荐阅读