【问题标题】:Deploy Node-RED to Heroku将 Node-RED 部署到 Heroku
【发布时间】:2025-12-31 22:55:01
【问题描述】:

我发现了 Github repo 中包含的用于连接 Heroku 服务器的文件,并替换为我自己的 package.jsonflow .json、repo 链接在 app.json 中。部署后,我尝试打开应用程序并从 Heroku CLI 的日志窗口收到如下错误:

2021-04-13T10:22:01.693823+00:00 heroku[web.1]: Starting process with command `node --max-old-space-size=384 node_modules/node-red/red.js --settings ./settings.js --userDir ./`
2021-04-13T10:22:05.304911+00:00 heroku[web.1]: Process exited with status 1
2021-04-13T10:22:05.411606+00:00 heroku[web.1]: State changed from starting to crashed
2021-04-13T10:22:05.185490+00:00 app[web.1]: throw err;
2021-04-13T10:22:05.185491+00:00 app[web.1]: ^
2021-04-13T10:22:05.185491+00:00 app[web.1]:
2021-04-13T10:22:05.185492+00:00 app[web.1]: Error: Cannot find 
module '/app/node_modules/node-red/red.js'
2021-04-13T10:22:05.185492+00:00 app[web.1]: at 
Function.Module._resolveFilename 
(internal/modules/cjs/loader.js:880:15)
2021-04-13T10:22:05.185492+00:00 app[web.1]: at 
Function.Module._load (internal/modules/cjs/loader.js:725:27)
2021-04-13T10:22:05.185493+00:00 app[web.1]: at 
Function.executeUserEntryPoint [as runMain] 
(internal/modules/run_main.js:72:12)
2021-04-13T10:22:05.185494+00:00 app[web.1]: at 
internal/main/run_main_module.js:17:47 {
2021-04-13T10:22:05.185494+00:00 app[web.1]: code: 
'MODULE_NOT_FOUND',
2021-04-13T10:22:05.185495+00:00 app[web.1]: requireStack: []
2021-04-13T10:22:05.185495+00:00 app[web.1]: }

My Github repo link 希望能得到您的帮助。谢谢。

【问题讨论】:

    标签: node.js heroku node-red


    【解决方案1】:

    您已从 package.json 中删除了 Node-RED,因此由于未安装,因此无法启动。

    {
        "name": "node-red-project",
        "description": "A Node-RED Project",
        "version": "0.0.1",
        "dependencies": {
            "node-red-contrib-alarm": "~1.2.5",
            "node-red-contrib-component-dashboard": "0.0.4",
            "node-red-contrib-components": "~0.1.8",
            "node-red-contrib-firebase": "~1.1.1",
            "node-red-contrib-influxdb": "~0.5.1",
            "node-red-contrib-mqtt-broker": "~0.2.4",
            "node-red-contrib-remote": "~1.1.3",
            "node-red-contrib-ttn": "~2.0.5",
            "node-red-contrib-ui-svg": "~2.2.1",
            "node-red-contrib-users": "~0.1.9",
            "node-red-dashboard": "~2.14.0",
            "node-red-node-ui-table": "~0.3.10"
        }
    }
    

    如果要添加额外的节点,需要将这些添加到现有package.json 中的依赖项列表中,而不仅仅是替换它们。

    {
        "name": "nodered-heroku",
        "version": "0.0.7",
        "dependencies": {
            "when": "3.7.8",
            "nano": "8.2.2",
            "feedparser":"2.2.10",
            "node-red-dashboard":"2.23.3",
            "redis":"3.0.2",
            "node-red": "1.1.3",
            "node-red-node-tail": "0.1.1",
            "node-red-contrib-aedes": "0.3.6",
            "node-red-contrib-blynk-ws": "1.0.3",
            "node-red-node-email": "1.7.9",
            "node-red-node-ui-list": "0.3.1",
            "node-red-contrib-telegrambot": "8.4.0",
            "node-red-contrib-alarm": "~1.2.5",
            "node-red-contrib-component-dashboard": "0.0.4",
            "node-red-contrib-components": "~0.1.8",
            "node-red-contrib-firebase": "~1.1.1",
            "node-red-contrib-influxdb": "~0.5.1",
            "node-red-contrib-mqtt-broker": "~0.2.4",
            "node-red-contrib-remote": "~1.1.3",
            "node-red-contrib-ttn": "~2.0.5",
            "node-red-contrib-ui-svg": "~2.2.1",
            "node-red-contrib-users": "~0.1.9",
            "node-red-node-ui-table": "~0.3.10"
        }
    }
    

    我还建议您使用最新版本的 Node-RED(发布时为 1.3.1),因为 1.1.3 非常旧

    【讨论】:

    • 嗨。谢谢你的时间。我按照您的建议调整了 package.json 但没有结果。它向我显示了一个空窗口,而不是错误警报窗口。错误变成:Connection failed to broker: mqtt://m16.cloudmqtt.com:12266
    • 这与问题中描述的问题完全不同。
    最近更新 更多