From d5ad6475210483e6e613fe78d280d95af5794da8 Mon Sep 17 00:00:00 2001 From: Haoqun Jiang Date: Wed, 14 Oct 2020 16:15:14 +0800 Subject: [PATCH] fix: npm 7 compat by turning on `legacy-peer-deps` flag fixes #5958 --- packages/@vue/cli/lib/util/ProjectPackageManager.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/@vue/cli/lib/util/ProjectPackageManager.js b/packages/@vue/cli/lib/util/ProjectPackageManager.js index 0cc7588be5..2531cf3457 100644 --- a/packages/@vue/cli/lib/util/ProjectPackageManager.js +++ b/packages/@vue/cli/lib/util/ProjectPackageManager.js @@ -134,6 +134,10 @@ class PackageManager { this.needsNpmInstallFix = true } + + if (semver.gte(npmVersion, '7.0.0')) { + this.needsPeerDepsFix = true + } } if (!SUPPORTED_PACKAGE_MANAGERS.includes(this.bin)) { @@ -374,7 +378,7 @@ class PackageManager { return } - return await this.runCommand('install') + return await this.runCommand('install', this.needsPeerDepsFix ? ['--legacy-peer-deps'] : []) } async add (packageName, { @@ -390,6 +394,10 @@ class PackageManager { } } + if (this.needsPeerDepsFix) { + args.push('--legacy-peer-deps') + } + return await this.runCommand('add', [packageName, ...args]) }