From 889f0e15694a4cb86860305ed309aed71b685764 Mon Sep 17 00:00:00 2001 From: Ben Hardill Date: Thu, 21 Apr 2022 11:40:12 +0100 Subject: [PATCH] Don't start if user has no home directory If the user doesn't have a defined home dir (env var `HOME`, `USERPROFILE` or `HOMEPATH`) and the `userDir` is not passed on the command line then we shouldn't start as we don't know where to copy the default `settings.js` file to or where to store flows fixes #3539 --- packages/node_modules/node-red/red.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/node_modules/node-red/red.js b/packages/node_modules/node-red/red.js index 2af02e2d5..421189118 100755 --- a/packages/node_modules/node-red/red.js +++ b/packages/node_modules/node-red/red.js @@ -112,6 +112,10 @@ if (parsedArgs.settings) { // Consider compatibility for older versions settingsFile = path.join(process.env.HOMEPATH,".node-red","settings.js"); } else { + if (!parsedArgs.userDir && !(process.env.HOME || process.env.USERPROFILE || process.env.HOMEPATH)) { + console.log("User has no Home Directory and no userDir set") + process.exit() + } var userDir = parsedArgs.userDir || path.join(process.env.HOME || process.env.USERPROFILE || process.env.HOMEPATH,".node-red"); var userSettingsFile = path.join(userDir,"settings.js"); if (fs.existsSync(userSettingsFile)) {