npx @deepseek-ai/dsh fails with a JavaScript heap OOM during npm dependency resolution
#4872
Replies: 3 comments
|
I extended the English npx install-boundary runbook with this latest report: https://sandbaseai.github.io/deepseek-harness-handbook/npx-install-prompt-hangs.html The pnpm success is useful as a package-manager control, but the guide keeps the claim bounded: it narrows the failure to npm resolution and does not prove the published dependency graph is correct. It also requires a disposable follow-up dsh --version and Web smoke test. |
|
?????? 34 ??????????:? pnpm ????npx ??? OOM ?? npm ?????(arborist ??),? dsh ????;pnpm ???????????? GB ??????????:
??????????,???????????? |
|
Thanks for the detailed report. I independently reproduced a very similar failure on Windows, but with a slightly different environment and a simpler pnpm workaround. My environment:
I initially did not have pnpm installed. Running: npx @deepseek-ai/dsh --helpstalled during dependency resolution. I also retried against the official npm registry: npx --registry=https://registry.npmjs.org/ @deepseek-ai/dsh --helpand the behavior was unchanged, so switching away from my default npm mirror did not solve the issue in my environment. Using: npx --yes --legacy-peer-deps --registry=https://registry.npmjs.org/ @deepseek-ai/dsh@0.1.1-rc.2 --helpallowed npm to proceed, but then failed at runtime with the same error: I then enabled pnpm through Corepack and tested: pnpm dlx @deepseek-ai/dsh@0.1.1-rc.2 web --no-openThis worked directly for me, without creating a project directory or explicitly setting I also verified the result beyond the startup message:
So, at least in my environment with pnpm 11.25.0, |
Uh oh!
There was an error while loading. Please reload this page.
Summary
The install path recommended in the README —
npx @deepseek-ai/dsh web— reliably crashes withFATAL ERROR: ... JavaScript heap out of memorybefore any dsh code runs. Installing the same package with pnpm succeeds in under a minute.Environment
Reproduction
The failure isolates cleanly to npm's resolver. No dsh code is executed in this repro:
Result: crashes after 379 seconds with 0 packages installed.
The documented command fails the same way, just later — the process produces no output at all (dsh never gets to run) and dies after ~523 seconds:
Likely cause
npm emits large numbers of circular peer-dependency conflicts while resolving the tree. A sample from the install log:
The package graph is ~500 packages with peer dependencies referencing each other across
dsh-*packages. npm's resolver appears to expand this combinatorially until it exhausts the heap.This is consistent with the project being pnpm-native internally: the repo builds with pnpm, generated profiles contain
pnpm-workspace.yaml, anddsh pluginforwards its arguments to pnpm. The npm/npx path appears not to be exercised in CI.What I tried
npx @deepseek-ai/dsh webnpm install @deepseek-ai/dsh(isolated)0.1.0-rc.60.0.1-rc.1NODE_OPTIONS=--max-old-space-size=6144npm install --legacy-peer-depsauto-install-peers=true--legacy-peer-depsinstalls quickly but produces a broken tree, because the peer dependencies are genuinely required at runtime:Working install
Boots correctly:
Note that
auto-install-peersis required — without it,@deepseek-ai/cordis-plugin-groupis missing and boot fails with the sameERR_MODULE_NOT_FOUNDas the--legacy-peer-depsnpm tree. Note also that in pnpm 11,pnpm config set auto-install-peers trueis rejected for the global config and must be supplied viapnpm-workspace.yamlor the environment variable.Suggested fixes
dsh-*packages, or convert the circular peers to regular dependencies, so npm can resolve the tree.auto-install-peersrequirement and the npm limitation, so users are not sent to a command that cannot complete.All reactions