将 Node-RED 部署到 Heroku

时间:2021-04-13 14:42:20

标签: node.js heroku node-red

我发现 Github 存储库中包含的文件用于连接到 Heroku 服务器并替换为我自己的 package.jsonflow .json、存储库链接在 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 希望得到您的帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

您已从 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 非常旧