@@ -285,20 +285,21 @@ async function writeTemplateFiles(dirname, cwd, options) {
285285
286286async function installDependencies ( ctx , cwd ) {
287287 const isWindows = process . platform === 'win32' ;
288- const npmCmd = isWindows ? 'npm.cmd' : 'npm' ;
289-
288+
290289 const nodeBinary = process . execPath ;
291- const npmPath = path . join ( path . dirname ( nodeBinary ) , npmCmd ) ;
292-
293- // Quote paths if they contain spaces to handle paths like "C:\Program Files\nodejs\"
294- const quotedNodeBinary = nodeBinary . includes ( ' ' ) ? `"${ nodeBinary } "` : nodeBinary ;
295- const quotedNpmPath = npmPath . includes ( ' ' ) ? `"${ npmPath } "` : npmPath ;
296-
290+ const npmPath = path . join ( path . dirname ( nodeBinary ) , 'npm' ) ;
297291 const customDir = ctx . customDir ;
298- const res = await Promise . all ( [
299- await execAsync ( `${ quotedNodeBinary } ${ quotedNpmPath } install` , { cwd, env : { PATH : process . env . PATH } } ) ,
300- await execAsync ( `${ quotedNodeBinary } ${ quotedNpmPath } install` , { cwd : customDir , env : { PATH : process . env . PATH } } ) ,
301- ] ) ;
292+ if ( isWindows ) {
293+ const res = await Promise . all ( [
294+ await execAsync ( `npm install` , { cwd, env : { PATH : process . env . PATH } } ) ,
295+ await execAsync ( `npm install` , { cwd : customDir , env : { PATH : process . env . PATH } } ) ,
296+ ] ) ;
297+ } else {
298+ const res = await Promise . all ( [
299+ await execAsync ( `${ nodeBinary } ${ npmPath } install` , { cwd, env : { PATH : process . env . PATH } } ) ,
300+ await execAsync ( `${ nodeBinary } ${ npmPath } install` , { cwd : customDir , env : { PATH : process . env . PATH } } ) ,
301+ ] ) ;
302+ }
302303 // console.log(chalk.dim(`Dependencies installed in ${cwd} and ${customDir}: \n${res[0].stdout}${res[1].stdout}`));
303304}
304305
0 commit comments