在 Win ES 7 上使用 PM2 运行 node-red 时出现“语法错误:无效或意外的令牌”

Leo*_* AB 3 node.js pm2 node-red

Node-red 版本:0.19.5
PM2 版本:3.2.3
操作系统:Windows Embedded Standard 7(在 ICO300 上运行,8GB RAM)

重现步骤

  1. 在 Windows ES 7 上安装 node-red 和 pm2
  2. 通过 pm2 运行 node red: pm2 start node-red
  3. 检查节点红色日志: pm2 logs node-red

结果
我收到以下错误:

0|node-red  | SyntaxError: Invalid or unexpected token
0|node-red  |     at new Script (vm.js:79:7)
0|node-red  |     at createScript (vm.js:251:10)
0|node-red  |     at Object.runInThisContext (vm.js:303:10)
0|node-red  |     at Module._compile (internal/modules/cjs/loader.js:656:28)
0|node-red  |     at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
0|node-red  |     at Module.load (internal/modules/cjs/loader.js:598:32)
0|node-red  |     at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
0|node-red  |     at Function.Module._load (internal/modules/cjs/loader.js:529:3)
0|node-red  |     at Object.<anonymous> (c:\Users\Administrator\AppData\Roaming\npm\node_modules\pm2\lib\ProcessContainerFork.js:27:21)
0|node-red  |     at Module._compile (internal/modules/cjs/loader.js:688:30)
0|node-red  | C:\USERS\ADMINISTRATOR\APPDATA\ROAMING\NPM\NODE-RED.CMD:1
0|node-red  | (function (exports, require, module, __filename, __dirname) { @IFEXIST "%~dp0\node.exe" (
Run Code Online (Sandbox Code Playgroud)

并且 node-red 不运行。

直接从 CMD 运行 node-red 可以正常完成(除了 1 小时后它通常会崩溃(原因在这里讨论,仍未解决),这就是为什么作为一种解决方法,我想使用 PM2 自动重启它。)

Uni*_*ech 6

在 Windows 上,node-red.cmd无效,您必须直接运行 Node.js 命令:

pm2 start C:\Users\<USER-NAME>\AppData\Roaming\npm\node_modules\node-red\red.js
Run Code Online (Sandbox Code Playgroud)