diff --git a/local-cli/util/PackageManager.js b/local-cli/util/PackageManager.js index 989aa135fe7202..6d866a0505aa23 100644 --- a/local-cli/util/PackageManager.js +++ b/local-cli/util/PackageManager.js @@ -15,11 +15,6 @@ const spawnOpts = { stdin: 'inherit', }; -const projectDir = process.cwd(); -const isYarnAvailable = - yarn.getYarnVersionIfAvailable() && - yarn.isGlobalCliUsingYarn(projectDir); - /** * Execute npm or yarn command * @@ -30,6 +25,11 @@ const isYarnAvailable = function callYarnOrNpm(yarnCommand, npmCommand) { let command; + const projectDir = process.cwd(); + const isYarnAvailable = + yarn.getYarnVersionIfAvailable() && + yarn.isGlobalCliUsingYarn(projectDir); + if (isYarnAvailable) { command = yarnCommand; } else { diff --git a/local-cli/util/yarn.js b/local-cli/util/yarn.js index 86b0d3f5b354a6..8bef7804eb9b09 100644 --- a/local-cli/util/yarn.js +++ b/local-cli/util/yarn.js @@ -21,11 +21,9 @@ function getYarnVersionIfAvailable() { let yarnVersion; try { // execSync returns a Buffer -> convert to string - if (process.platform.startsWith('win')) { - yarnVersion = (execSync('yarn --version').toString() || '').trim(); - } else { - yarnVersion = (execSync('yarn --version 2>/dev/null').toString() || '').trim(); - } + yarnVersion = (execSync('yarn --version', { + stdio: [ 0, 'pipe', 'ignore', ] + }).toString() || '').trim(); } catch (error) { return null; }