diff --git a/packages/angular_devkit/schematics/tasks/package-manager/executor.ts b/packages/angular_devkit/schematics/tasks/package-manager/executor.ts index 45047ba3b1d8..5809b20a2e1e 100644 --- a/packages/angular_devkit/schematics/tasks/package-manager/executor.ts +++ b/packages/angular_devkit/schematics/tasks/package-manager/executor.ts @@ -101,7 +101,18 @@ export default function ( } if (!options.allowScripts) { - args.push('--ignore-scripts'); + // Yarn requires special handling since Yarn 2+ no longer has the `--ignore-scripts` flag + if (taskPackageManagerName === 'yarn') { + spawnOptions.env = { + ...process.env, + // Supported with yarn 1 + 'npm_config_ignore_scripts': 'true', + // Supported with yarn 2+ + 'YARN_ENABLE_SCRIPTS': 'false', + }; + } else { + args.push('--ignore-scripts'); + } } if (factoryOptions.registry) {