无法在 mac 上安装 p5.serialserver

Unable to install p5.serialserver on a mac

我已经尝试在 mac 上安装 p5.serial 服务器 2 天了,但无济于事。 我已经尝试了所有我能想到的尝试并在 mac 上下载 p5.serial 服务器。我使用了文档 (https://github.com/p5-serial/p5.serialport) 中建议的所有三种方法,它们是

  1. 克隆存储库并运行

    npm 安装

当我 运行 npm install 时失败,我无法继续下一步。然后我试了

sudo npm install -g p5.serialserver

npm install p5.serialserver

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

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,

然后是:

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

我假设这是因为需要更新并且一些所需的包已经更改,但我不确定哪些包或如何解决这个问题。我尝试降级我正在使用的节点版本,但这没有用。如果大家有更好的建议请告知

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

在一位教授发来资源解释错误后,我终于弄明白了。基本上,您需要下载到 nodev12.20.2 才能使用 p5 serial(可能是因为依赖项已过时)

我通过 运行在终端中执行以下操作来完成此操作。您可以使用 nvm 来 运行 不同版本的节点,所以如果您还没有安装节点,我建议使用它来安装:

nvm install 12.20.2
nvm use 12.20.2
node -v

确认终端是运行ning node v12.20.2

sudo npm install serialport --unsafe-perm -g
sudo npm install ws -g
sudo npm install p5.serialserver --unsafe-perm -g

然后 运行 启动服务器:

p5serial

它应该会启动服务器。希望这对其他人有帮助,因为这让我发疯。