diff --git a/.changeset/hungry-pens-know.md b/.changeset/hungry-pens-know.md new file mode 100644 index 0000000000..695f0f7f2a --- /dev/null +++ b/.changeset/hungry-pens-know.md @@ -0,0 +1,5 @@ +--- +"@pnpm/core": patch +--- + +Fixed an exception that was caused by reading the name property from a manifest that was not defined. diff --git a/packages/core/src/install/index.ts b/packages/core/src/install/index.ts index 6a2811e933..32f27690ac 100644 --- a/packages/core/src/install/index.ts +++ b/packages/core/src/install/index.ts @@ -873,10 +873,14 @@ const _installInContext: InstallFunction = async (projects, ctx, opts) => { await Promise.all( directPkgs.map(async (dep) => { const manifest = await dep.fetchingBundledManifest?.() ?? await safeReadProjectManifestOnly(dep.dir) + let nodeExecPath: string | undefined + if (manifest?.name) { + nodeExecPath = project.manifest.dependenciesMeta?.[manifest.name]?.node + } return { location: dep.dir, manifest, - nodeExecPath: project.manifest.dependenciesMeta?.[manifest!.name!]?.node, + nodeExecPath, } }) )