diff --git a/lib/manager/npm/post-update/__snapshots__/lerna.spec.ts.snap b/lib/manager/npm/post-update/__snapshots__/lerna.spec.ts.snap
index f93b73cf05bc41fc2d89f4aa8af29e9dd8409ca5..09a18a3414efebef5150aa7db6a16467faa9a1e9 100644
--- a/lib/manager/npm/post-update/__snapshots__/lerna.spec.ts.snap
+++ b/lib/manager/npm/post-update/__snapshots__/lerna.spec.ts.snap
@@ -3,7 +3,7 @@
 exports[`generateLockFiles() allows scripts for trust level high 1`] = `
 Array [
   Object {
-    "cmd": "npm install --package-lock-only --no-audit",
+    "cmd": "npm install  --no-audit --package-lock-only",
     "options": Object {
       "cwd": "some-dir",
       "encoding": "utf-8",
@@ -20,7 +20,7 @@ Array [
     },
   },
   Object {
-    "cmd": "npx lerna@latest bootstrap --no-ci -- --package-lock-only --no-audit",
+    "cmd": "npx lerna@latest bootstrap --no-ci --  --no-audit --package-lock-only",
     "options": Object {
       "cwd": "some-dir",
       "encoding": "utf-8",
@@ -42,7 +42,7 @@ Array [
 exports[`generateLockFiles() defaults to latest 1`] = `
 Array [
   Object {
-    "cmd": "npm install --package-lock-only --no-audit",
+    "cmd": "npm install --ignore-scripts  --no-audit --package-lock-only",
     "options": Object {
       "cwd": "some-dir",
       "encoding": "utf-8",
@@ -59,7 +59,7 @@ Array [
     },
   },
   Object {
-    "cmd": "npx lerna@latest bootstrap --no-ci -- --package-lock-only --no-audit",
+    "cmd": "npx lerna@latest bootstrap --no-ci -- --ignore-scripts  --no-audit --package-lock-only",
     "options": Object {
       "cwd": "some-dir",
       "encoding": "utf-8",
@@ -81,7 +81,7 @@ Array [
 exports[`generateLockFiles() generates package-lock.json files 1`] = `
 Array [
   Object {
-    "cmd": "npm install --package-lock-only --no-audit",
+    "cmd": "npm install --ignore-scripts  --no-audit --package-lock-only",
     "options": Object {
       "cwd": "some-dir",
       "encoding": "utf-8",
@@ -98,7 +98,7 @@ Array [
     },
   },
   Object {
-    "cmd": "npx lerna@2.0.0 bootstrap --no-ci -- --package-lock-only --no-audit",
+    "cmd": "npx lerna@2.0.0 bootstrap --no-ci -- --ignore-scripts  --no-audit --package-lock-only",
     "options": Object {
       "cwd": "some-dir",
       "encoding": "utf-8",
@@ -159,7 +159,7 @@ Array [
 exports[`generateLockFiles() maps dot files 1`] = `
 Array [
   Object {
-    "cmd": "npm install --package-lock-only --no-audit",
+    "cmd": "npm install --ignore-scripts  --no-audit --package-lock-only",
     "options": Object {
       "cwd": "some-dir",
       "encoding": "utf-8",
@@ -176,7 +176,7 @@ Array [
     },
   },
   Object {
-    "cmd": "npx lerna@latest bootstrap --no-ci -- --package-lock-only --no-audit",
+    "cmd": "npx lerna@latest bootstrap --no-ci -- --ignore-scripts  --no-audit --package-lock-only",
     "options": Object {
       "cwd": "some-dir",
       "encoding": "utf-8",
diff --git a/lib/manager/npm/post-update/__snapshots__/npm.spec.ts.snap b/lib/manager/npm/post-update/__snapshots__/npm.spec.ts.snap
index 319120c337a96b5fee2b12e7731faf0c327f3e91..b44fbfc335b49a18dbccddba3b3d3aaf4feff597 100644
--- a/lib/manager/npm/post-update/__snapshots__/npm.spec.ts.snap
+++ b/lib/manager/npm/post-update/__snapshots__/npm.spec.ts.snap
@@ -48,7 +48,7 @@ exports[`generateLockFile performs full install 1`] = `Array []`;
 exports[`generateLockFile performs lock file updates 1`] = `
 Array [
   Object {
-    "cmd": "npm install --package-lock-only --no-audit some-dep@1.0.1",
+    "cmd": "npm install --package-lock-only --ignore-scripts --no-audit some-dep@1.0.1",
     "options": Object {
       "cwd": "some-dir",
       "encoding": "utf-8",
diff --git a/lib/manager/npm/post-update/lerna.ts b/lib/manager/npm/post-update/lerna.ts
index 8136af093b3161334ddc9bc158c347c81228b776..1cc1951fcd614e0af22311af8af852f62372ec98 100644
--- a/lib/manager/npm/post-update/lerna.ts
+++ b/lib/manager/npm/post-update/lerna.ts
@@ -36,10 +36,9 @@ export async function generateLockFiles(
       }
       cmdOptions = '--ignore-scripts --ignore-engines --ignore-platform';
     } else if (lernaClient === 'npm') {
-      if (skipInstalls === false) {
-        cmdOptions = '--ignore-scripts  --no-audit';
-      } else {
-        cmdOptions = '--package-lock-only --no-audit';
+      cmdOptions = '--ignore-scripts  --no-audit';
+      if (skipInstalls !== false) {
+        cmdOptions += ' --package-lock-only';
       }
     } else {
       logger.warn({ lernaClient }, 'Unknown lernaClient');
diff --git a/lib/manager/npm/post-update/npm.ts b/lib/manager/npm/post-update/npm.ts
index 26c3daf0943f00b382ea6d5cde21247867c5d03a..d1bd9163368accf15adfc0d2c16e8363632cbab8 100644
--- a/lib/manager/npm/post-update/npm.ts
+++ b/lib/manager/npm/post-update/npm.ts
@@ -35,7 +35,7 @@ export async function generateLockFile(
       cmdOptions += '--ignore-scripts --no-audit';
     } else {
       logger.debug('Updating lock file only');
-      cmdOptions += '--package-lock-only --no-audit';
+      cmdOptions += '--package-lock-only --ignore-scripts --no-audit';
     }
     const tagConstraint = await getNodeConstraint(config);
     const execOptions: ExecOptions = {