From 6aa5816f3d832527bfd4cc3e7ec26f669e71327e Mon Sep 17 00:00:00 2001 From: Thomas Berger Date: Wed, 1 Aug 2018 16:02:45 +0200 Subject: [PATCH] make sure conf directory exists before writing the config file --- install.js | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/install.js b/install.js index f79ce40d3d..79292f2dbc 100644 --- a/install.js +++ b/install.js @@ -548,12 +548,18 @@ function saveConfig(configItems, callback) { _.each(configItems, function(value, key) { config[key] = value; }); - fs.writeJson(path.join('conf', 'config.json'), config, { spaces: 2 }, function(error) { - if(error) { - handleError(`Failed to write configuration file to ${chalk.underline('conf/config.json')}.\n${error}`, 1, 'Install Failed.'); + + fs.ensureDir('conf', function(error) { + if (error) { + return handleError(`Failed to create configuration directory.\n${error}`, 1, 'Install Failed.'); } - return callback(); - }); + fs.writeJson(path.join('conf', 'config.json'), config, { spaces: 2 }, function(error) { + if(error) { + handleError(`Failed to write configuration file to ${chalk.underline('conf/config.json')}.\n${error}`, 1, 'Install Failed.'); + } + return callback(); + }); + }) } function handleError(error, exitCode, exitMessage) {