diff --git a/lib/API/Modules/Modularizer.js b/lib/API/Modules/Modularizer.js index 19cfba9a..a57d3b45 100644 --- a/lib/API/Modules/Modularizer.js +++ b/lib/API/Modules/Modularizer.js @@ -185,9 +185,8 @@ function uninstallModule(CLI, module_name, cb) { } function installLangModule(module_name, cb) { - var node_module_path = path.resolve(path.join(__dirname, '../../../')); var install_instance = spawn(cst.IS_WINDOWS ? 'npm.cmd' : 'npm', [ - 'install', module_name, '--prefix', node_module_path, '--loglevel=error' + 'install', module_name, '--prefix', cst.PM2_INSTALL_PATH, '--loglevel=error' ],{ stdio : 'inherit', env: process.env, diff --git a/lib/Common.js b/lib/Common.js index dcb0fc06..ba9639e6 100644 --- a/lib/Common.js +++ b/lib/Common.js @@ -369,15 +369,15 @@ Common.sink.resolveInterpreter = function(app) { * Specific installed JS transpilers */ if (app.exec_interpreter == 'ts-node') { - app.exec_interpreter = path.join(__dirname, '../node_modules/.bin/ts-node'); + app.exec_interpreter = path.join(cst.PM2_INSTALL_PATH, 'node_modules/.bin/ts-node'); } if (app.exec_interpreter == 'lsc') { - app.exec_interpreter = path.join(__dirname, '../node_modules/.bin/lsc'); + app.exec_interpreter = path.join(cst.PM2_INSTALL_PATH, 'node_modules/.bin/lsc'); } if (app.exec_interpreter == 'coffee') { - app.exec_interpreter = path.join(__dirname, '../node_modules/.bin/coffee'); + app.exec_interpreter = path.join(cst.PM2_INSTALL_PATH, 'node_modules/.bin/coffee'); } if (app.exec_interpreter != 'none' && shelljs.which(app.exec_interpreter) == null) { diff --git a/paths.js b/paths.js index 7c3703d8..bccd0dda 100644 --- a/paths.js +++ b/paths.js @@ -35,6 +35,8 @@ module.exports = function(PM2_HOME) { PM2_HOME : PM2_HOME, PM2_ROOT_PATH : PM2_HOME, + PM2_INSTALL_PATH : p.resolve('.'), + PM2_CONF_FILE : p.join(PM2_HOME, 'conf.js'), PM2_MODULE_CONF_FILE : p.join(PM2_HOME, 'module_conf.json'), @@ -61,6 +63,6 @@ module.exports = function(PM2_HOME) { pm2_file_stucture.DAEMON_PUB_PORT = '\\\\.\\pipe\\pub.sock'; pm2_file_stucture.INTERACTOR_RPC_PORT = '\\\\.\\pipe\\interactor.sock'; } - + return pm2_file_stucture; };