node.js - 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
解决方案
弄清楚了。需要,而不是sudo npm i libp2p
在手动安装二进制文件后运行,我必须跳过 sudo 并且一切正常。这会导致一个问题,因为我现在无法全局安装模块,因为使用 sudo 会抛出 no npm command found.... 我不太确定如何将 npm 路径添加回 sudo 的命令中,或者为什么 npm 是sudo 中不存在,但经常出现....这很奇怪。其他原生支持 node v12 而不是 v10 的发行版可能会解决这个问题。希望 20.04lts 能解决这个问题。
推荐阅读
- c# - Microsoft.Graph.GraphServiceClient Planner 存储桶 AddAsync 返回错误“仅在包含的实体上支持写入请求”
- vue.js - VueJS [Vue 警告] 渲染错误“TypeError”无法读取未定义的属性“PRICE”
- jenkins - 詹金斯基于角色的策略没有反映
- rxjs - RxJS:有条件地重复 AJAX 并响应先前的结果
- android - 这条线是否重要:“应用插件:'com.google.gms.google-services'”应该在底部?
- java - 在 Java 中创建一个简单的 Restful api
- android - 既然不允许后台任务,那么处理图片上传的正确方法是什么?
- cmake - 如何将 Cublas 库与 CMake CUDA 10.0 Ubuntu 18 链接
- azure - AI(内部):达到消息限制。EventSource 错误消息结束
- django - Django 登录到 wxpython 窗口?