From 2ad88ec16bb1ed0106a2a9ac22a732c3dec2b571 Mon Sep 17 00:00:00 2001 From: Marco Massarotto Date: Tue, 24 May 2016 10:26:28 +0100 Subject: [PATCH] Allowing use of --foreverPath option even if forever is not globally installed --- bin/forever-service | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/bin/forever-service b/bin/forever-service index 2849597..19c6e92 100755 --- a/bin/forever-service +++ b/bin/forever-service @@ -7,7 +7,7 @@ var path = require('path'); platforms.get(function(err, platform){ console.log('forever-service version '+require('../package.json').version+'\n'); - if(err || !platform){ + if(err || !platform){ console.error('This platform is not yet supported by forever-service'); console.error('To help us add this platform, please contibute to https://github.com/zapty/forever-service\n'); return; @@ -17,7 +17,7 @@ platforms.get(function(err, platform){ program .version(require('../package.json').version) - + program .command('install [service]') @@ -52,7 +52,7 @@ platforms.get(function(err, platform){ var ctx = Object.create(platform); ctx.service = service; - if(options.script) + if(options.script) ctx.script = options.script; else ctx.script = 'app.js'; @@ -85,21 +85,21 @@ platforms.get(function(err, platform){ if(options.logrotateDateExt) ctx.logrotateDateExt = 'dateext'; if(options.logrotateCompress) ctx.logrotateCompress = 'compress'; if(options.applyUlimits) ctx.applyUlimits = true; - ctx.foreverPath=path.dirname(getCmdPath('forever')); - if(options.foreverPath) { - var fp = options.foreverPath; - fp = fp.trim(); + + if(options.foreverPath){ + var fp = options.foreverPath.trim(); if(!fp.match(/\/$/)) fp = fp+'/'; ctx.foreverPath = fp; } else { - if(!ctx.foreverPath){ - console.error("forever not found, forever must be installed using 'npm install -g forever'"); - process.exit(1); - } else { - ctx.foreverPath+="/"; - } - } + var foreverCmd = getCmdPath('forever'); + if(foreverCmd){ + ctx.foreverPath = path.dirname(foreverCmd) + "/"; + } else { + console.error("forever not found, forever must be installed using 'npm install -g forever'"); + process.exit(1); + } + } if(options.runAsUser){ ctx.runAsUser = options.runAsUser; @@ -152,7 +152,7 @@ platforms.get(function(err, platform){ console.error('Service name missing'); return 3; } - + console.log('Platform - '+platform.os); var ctx = Object.create(platform); @@ -179,7 +179,7 @@ platforms.get(function(err, platform){ console.log(' Command help:\n') console.log(' forever-service install --help'); console.log(' forever-service delete --help\n'); - } + } }); @@ -215,4 +215,4 @@ function getCmdPath(cmd){ } else { console.log(cmd + 'path not found'); } -} \ No newline at end of file +}