【问题标题】:Error while installing aws iot node-red package on armv5tejl在 armv5tejl 上安装 aws iot node-red 包时出错
【发布时间】:2017-10-11 09:32:59
【问题描述】:

我有一个armv5tejl 设备,其中我有以下版本 节点v0.10.40 和 npm 1.4.28

我正在尝试安装以下软件包 - https://www.npmjs.com/package/node-red-contrib-aws-iot

我之前使用过相同的配置,并成功安装了这个 contrib 模块并使用 AWS IoT。 现在,当我尝试安装相同的模块时,它会向我抛出一些警告消息,如下所示 -

npm WARN engine aws-iot-device-sdk@2.1.0: wanted: {"node":">=4.0.0"} (current: {"node":"0.10.40","npm":"1.4.28"})
npm WARN engine mqtt@2.13.0: wanted: {"node":">=4.0.0"} (current: {"node":"0.10.40","npm":"1.4.28"})
npm WARN unmet dependency /opt/node-red/node_modules/serialport/node_modules/node-pre-gyp/node_modules/tar-pack requires debug@'~2.2.0' but will load
npm WARN unmet dependency /opt/node-red/node_modules/serialport/node_modules/debug,
npm WARN unmet dependency which is version 2.6.3

现在,当我打开红色节点时,我没有找到任何适用于 aws-iot 的节点。我检查了 node-red 日志文件,发现以下内容 -

/opt/node-red/node_modules/node-red-contrib-aws-iot/node_modules/aws-iot-device-sdk/node_modules/mqtt/node_modules/websocket-stream/server.js:6
class Server extends WebSocketServer{
^^^^^

我想使用相同的模块。我该如何解决这个问题并让它发挥作用?

【问题讨论】:

    标签: node-red aws-iot


    【解决方案1】:

    您需要将您的 NodeJS 至少升级到 v4.0.0。 (您当前使用的是 v0.10.40 而不是问题开头提到的 v0.4.10,也不再受支持)

    该节点似乎自您上次安装以来已更新,现在使用仅在 NodeJS v4.0.0 或更高版本中可用的语言功能。

    如果您真的无法更新 NodeJS 版本,那么您可以使用“@”语法强制安装旧版本。但是如果不知道为什么更新节点,就不能保证旧版本会继续正常工作。

    【讨论】:

    • 哦,是的。你说的对。更正了问题中的节点版本。好的,我可以先尝试使用 @ 语法安装。我曾尝试更新 NodeJS,但它以某种方式完全破坏了系统,一切都停止了工作
    • 任何带有二进制组件的节点都需要在升级节点后重新构建。
    • 好吧,这很奇怪。我在 rPi 中安装了相同的模块,并将包的内容从 node_modules 文件夹复制到该设备,它可以工作
    • 这不是一个长期的解决方案,你真的需要得到支持的 NodeJS 版本
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-01
    • 2020-08-16
    • 1970-01-01
    • 1970-01-01
    • 2018-08-25
    • 2015-04-27
    相关资源
    最近更新 更多