node doesn't know where it is relative to itself when called without the full
path.

Index: lib/cli.js
--- lib/cli.js.orig
+++ lib/cli.js
@@ -34038,11 +34038,11 @@ var getWrappersFolder = exports.getWrappersFolder = fu
 
     wrappersFolder = yield (_fs || _load_fs()).makeTempDir();
 
-    yield (0, (_portableScript || _load_portableScript()).makePortableProxyScript)(process.execPath, wrappersFolder, {
+    yield (0, (_portableScript || _load_portableScript()).makePortableProxyScript)('${LOCALBASE}/bin/node', wrappersFolder, {
       proxyBasename: 'node'
     });
 
-    yield (0, (_portableScript || _load_portableScript()).makePortableProxyScript)(process.execPath, wrappersFolder, {
+    yield (0, (_portableScript || _load_portableScript()).makePortableProxyScript)('${LOCALBASE}/bin/node', wrappersFolder, {
       proxyBasename: 'yarn',
       prependArguments: [process.argv[1]]
     });
