Index: lib/commands/publish.js
--- lib/commands/publish.js.orig	2022-08-17 21:51:47.000000000 +0200
+++ lib/commands/publish.js	2022-08-28 00:36:25.789897000 +0200
@@ -55,6 +55,7 @@
     const json = this.npm.config.get('json')
     const defaultTag = this.npm.config.get('tag')
     const ignoreScripts = this.npm.config.get('ignore-scripts')
+    const scriptShell = this.npm.config.get('script-shell') || undefined
     const { silent } = this.npm
 
     if (semver.validRange(defaultTag)) {
@@ -75,6 +76,7 @@
         event: 'prepublishOnly',
         path: spec.fetchSpec,
         stdio: 'inherit',
+        scriptShell,
         pkg: manifest,
         banner: !silent,
       })
Index: lib/npm.js
--- lib/npm.js.orig	2022-08-17 21:51:47.000000000 +0200
+++ lib/npm.js	2022-08-28 00:34:03.724685000 +0200
@@ -404,9 +404,7 @@
   }
 
   get globalDir () {
-    return process.platform !== 'win32'
-      ? resolve(this.globalPrefix, 'lib', 'node_modules')
-      : resolve(this.globalPrefix, 'node_modules')
+    return resolve(this.globalPrefix, 'node_modules')
   }
 
   get localDir () {
