使用 HTTP API 安装节点红色节点时返回代码 MODULE_NOT_FOUND

Code MODULE_NOT_FOUND was returned when a node red node is installed using the HTTP API

目前我正在尝试使用以下 curl 命令使用 HTTP POST /nodes 在 NodeRED 中安装节点:

curl -X POST -H "Accept: application/json" -H "Content-Type: application/json" -i http://localhost:1880/nodes -d "{\"module\": \"C:\test\testRemoteNodeWindow\"}"

但我收到 400 错误请求响应,这个:

{"code":"MODULE_NOT_FOUND","message":"Cannot find module 'C:\test\testRemoteNodeWindow'"}

但我注意到该节点已作为依赖项添加到 node_red_config/package。json

{
  "name": "node-red-project",
  "description": "A Node-RED Project",
  "version": "0.0.1",
  "private": true,
  "dependencies": {
    "testRemoteNodeWindow": "file:testRemoteNodeWindow"
 }
}

并且符号 link 是在 node_red_config/node_modules 中创建的,问题只发生在 Windows 中,奇怪的是我在 node/node-red/npm 中使用相同的版本Linux 机器和节点是使用 HTTP POST /node 创建的,没有任何问题。有谁知道这是否可能是配置问题或类似问题? 问候。

MODULE_NOT_FOUND 错误意味着虽然它已成功 运行 您模块的 npm install,但 运行time 未能找到有效的 Node-RED 具有该名称的模块。

这通常意味着您的模块在其 package.json 文件中没有 node-red 部分,如 here 所述。否则,运行time 无法将该模块识别为有效的 Node-RED 模块。

我发现了问题,这与我使用的 Windows 路径有关:

curl -X POST -H "Accept: application/json" -H "Content-Type: application/json" http://localhost:1880/nodes -d "{\"module\": \"C:/test/testRemoteNodeWindow\"}"

节点已安装,我收到 HTTP 200 响应,但如果我使用:

curl -X POST -H "Accept: application/json" -H "Content-Type: application/json" -i http://localhost:1880/nodes -d "{\"module\": \"C:\test\testRemoteNodeWindow\"}"

我得到了 MODULE_NOT_FOUND 代码。