首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在mac上安装p5.序列化服务器

问无法在mac上安装p5.序列化服务器
EN

Stack Overflow用户
提问于 2022-02-09 19:28:43
回答 1查看 67关注 0票数 0

我一直试图在mac上安装p5串行服务器2天,但没有结果。我已经尝试了所有我能想到的尝试在mac上下载p5串行化服务器。我使用了文档(https://github.com/p5-serial/p5.serialport)中建议的所有三种方法,它们是

  1. 克隆存储库并运行

npm安装

当我运行npm安装时,这失败了,并且我无法继续下一步。然后我试着

代码语言:javascript
复制
sudo npm install -g p5.serialserver

和

代码语言:javascript
复制
npm install p5.serialserver

它一直给我带来错误,需要3个参数,但提供了2个参数,如下所示:

代码语言:javascript
复制
npm ERR! /path/path/path/node-gyp/17.4.0/include/node/v8-object.h:247:37: note: candidate function not viable: requires 3 arguments, but 2 were provided
npm ERR!   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,

然后是:

代码语言:javascript
复制
npm ERR!                                     ^
npm ERR! 4 errors generated.
npm ERR! make: *** [Release/obj.target/bindings/src/serialport.o] Error 1
npm ERR! gyp ERR! build error 
npm ERR! gyp ERR! stack Error: `make` failed with exit code: 2
npm ERR! gyp ERR! stack     at ChildProcess.onExit (/path/path/path/.nvm/versions/node/v17.4.0/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:520:28)
npm ERR! gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:291:12)
npm ERR! gyp ERR! System Darwin 21.1.0
npm ERR! gyp ERR! command "/path/path/path/.nvm/versions/node/v17.4.0/bin/node" "/path/path/path/.nvm/versions/node/v17.4.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
npm ERR! gyp ERR! cwd /path/path/path/.nvm/versions/node/v17.4.0/lib/node_modules/p5.serialserver/node_modules/@serialport/bindings
npm ERR! gyp ERR! node -v v17.4.0
npm ERR! gyp ERR! node-gyp -v v8.4.1
npm ERR! gyp ERR! not ok

我认为这是因为需要更新,一些所需的包已经更改,但我不确定是哪个包,或者如何解决这个问题。我试着降低我正在使用的节点的版本,但这不起作用。如有任何其他建议,请告知。

更新:我在https://npm.runkit.com/p5.serialserver上运行了p5串行化服务器。它根据模块中的内容给出了更多的错误。这是否意味着它不可能使用?此处链接的错误:https://runkit.com/embed/9rlymlps3vcx

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-15 03:16:04

在一位教授派了资源来解释错误后,我终于明白了这一点。基本上,您需要下载到nodev12.20.2,以便使用p5串行(可能是因为过时的依赖关系)

我是通过在终端中运行以下命令来做到这一点的。您可以使用nvm运行不同版本的节点,所以如果您还没有使用nvm来安装节点,我建议您使用它来安装节点:

代码语言:javascript
复制
nvm install 12.20.2
nvm use 12.20.2
node -v

确认终端正在运行节点v12.20.2

代码语言:javascript
复制
sudo npm install serialport --unsafe-perm -g
sudo npm install ws -g
sudo npm install p5.serialserver --unsafe-perm -g

然后运行以下命令来启动服务器:

代码语言:javascript
复制
p5serial

它应该启动服务器。希望这能帮到别人因为这让我快疯了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71055596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档