Skip to content

Commit 76edc35

Browse files
committed
resolved conflicts
2 parents fb20e3d + ed58e18 commit 76edc35

File tree

7 files changed

+363
-610
lines changed

7 files changed

+363
-610
lines changed

bin/helpers/packageInstaller.js

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@
55
fileHelpers = require('./fileHelpers'),
66
logger = require("./logger").winstonLogger,
77
Constants = require('./constants'),
8-
process = require('process'),
98
utils = require('./utils'),
9+
{ get_version } = require('./usageReporting'),
10+
process = require('process'),
1011
{ spawn } = require('child_process'),
1112
util = require('util');
1213

@@ -64,15 +65,30 @@ const packageInstall = (packageDir) => {
6465
logger.info(`Packages were installed locally successfully.`);
6566
resolve('Packages were installed successfully.');
6667
} else {
67-
logger.error(`Some error occurred while installing packages. Error code ${code}`);
68+
logger.error(`Some error occurred while installing packages. Error code ${code}. Please read npm_install_debug.log for more info.`);
6869
reject(`Packages were not installed successfully. Error code ${code}`);
6970
}
7071
};
7172
const nodeProcessErrorCallback = (error) => {
7273
logger.error(`Some error occurred while installing packages: %j`, error);
7374
reject(`Packages were not installed successfully. Error Description ${util.format('%j', error)}`);
7475
};
75-
nodeProcess = spawn(/^win/.test(process.platform) ? 'npm.cmd' : 'npm', ['install', '--loglevel', 'verbose', '>', '../npm_install_debug.log', '2>&1'], {cwd: packageDir, shell: true});
76+
77+
let nodeProcess;
78+
logger.debug(`Fetching npm version and its major version`);
79+
const npm_version = get_version('npm')
80+
const npm_major_version = utils.getMajorVersion(npm_version);
81+
logger.debug(`Fetched npm version: ${npm_version} and its major version: ${npm_major_version}`);
82+
83+
// add --legacy-peer-deps flag while installing dependencies for npm v7+
84+
// For more info please read "Peer Dependencies" section here -> https://github.blog/2021-02-02-npm-7-is-now-generally-available/
85+
if (parseInt(npm_major_version) >= 7) {
86+
logger.debug(`Running NPM install command: npm install --legacy-peer-deps --loglevel verbose > ../npm_install_debug.log`);
87+
nodeProcess = spawn(/^win/.test(process.platform) ? 'npm.cmd' : 'npm', ['install', '--legacy-peer-deps', '--loglevel', 'verbose', '>', '../npm_install_debug.log', '2>&1'], {cwd: packageDir, shell: true});
88+
} else {
89+
logger.debug(`Running NPM install command: 'npm install --loglevel verbose > ../npm_install_debug.log'`);
90+
nodeProcess = spawn(/^win/.test(process.platform) ? 'npm.cmd' : 'npm', ['install', '--loglevel', 'verbose', '>', '../npm_install_debug.log', '2>&1'], {cwd: packageDir, shell: true});
91+
}
7692
nodeProcess.on('close', nodeProcessCloseCallback);
7793
nodeProcess.on('error', nodeProcessErrorCallback);
7894
});

0 commit comments

Comments
 (0)