diff --git a/lib/manager/npm/post-update/yarn.js b/lib/manager/npm/post-update/yarn.js index 554da4fb1ba98092eb6dae5766422e0169320bfb..7ac70a2d831f4e0a9f92908b578483d6ecce66b1 100644 --- a/lib/manager/npm/post-update/yarn.js +++ b/lib/manager/npm/post-update/yarn.js @@ -27,11 +27,19 @@ async function generateLockFile(cwd, env, config = {}) { cmd = `node ${installedPath}`; // istanbul ignore if if (yarnIntegrity) { - logger.info('Using yarn@1.10 for install'); - cmd = cmd.replace( - 'node_modules/yarn/bin/yarn.js', - 'bin/yarn-1.10.1.js' - ); + try { + const renovatePath = await getInstalledPath('renovate', { + local: true, + }); + logger.info('Using nested bundled yarn@1.10 for install'); + cmd = upath.join(renovatePath, 'bin/yarn-1.10.1.js'); + } catch (err) { + logger.info('Using bundled yarn@1.10 for install'); + cmd = cmd.replace( + 'node_modules/yarn/bin/yarn.js', + 'bin/yarn-1.10.1.js' + ); + } } } catch (localerr) { logger.debug('No locally installed yarn found');