I am deploying a simple node js web application. Everything is working fine until the point I wanted to keep it running by using the forever command. I am able to run without any problem by typing node command like node --es-module-specifier-resolution=node server/main_server.js. However, the moment I wanted to use pm2 or forever to run the application, I start to get errors. I've tried to wrap the commands in env or bash -c but node seems to know which environment it's in and refuses to run whenever it knows that it will run a long time.
On Mac:
~ (master|✔) $ /usr/local/Cellar/node/15.2.1/bin/forever /usr/local/bin/node --es-module-specifier-resolution=node server/main_server.js (base)
warn: --minUptime not set. Defaulting to: 1000ms
warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
(node:76946) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)
(node:76946) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
/usr/local/Cellar/node/15.2.1/bin/node:1
����
SyntaxError: Invalid or unexpected token
at wrapSafe (node:internal/modules/cjs/loader:1018:16)
at Module._compile (node:internal/modules/cjs/loader:1066:27)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1131:10)
at Module.load (node:internal/modules/cjs/loader:967:32)
at Function.Module._load (node:internal/modules/cjs/loader:807:14)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:76:12)
at node:internal/main/run_main_module:17:47
error: Forever detected script exited with code: 1
^C⏎
On Linux:
# forever /usr/bin/node --trace-warnings --es-module-specifier-resolution=node server/main_server.js
warn: --minUptime not set. Defaulting to: 1000ms
warn: --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
(node:15067) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)
(node:15067) Warning: Accessing non-existent property 'padLevels' of module exports inside circular dependency
/usr/bin/node:1
ELF
^
SyntaxError: Invalid or unexpected token
at wrapSafe (node:internal/modules/cjs/loader:1018:16)
at Module._compile (node:internal/modules/cjs/loader:1066:27)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1131:10)
at Module.load (node:internal/modules/cjs/loader:967:32)
at Function.Module._load (node:internal/modules/cjs/loader:807:14)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:76:12)
at node:internal/main/run_main_module:17:47
error: Forever detected script exited with code: 1
^C⏎