mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-11-14 10:39:32 +01:00
fix(#616): install pnpm only when none is on PATH
The DeepSeek install command asked npm for dsh and pnpm in one go. On a machine that already has pnpm through corepack (`corepack enable` puts a pnpm shim in node's own bin directory, which is npm's global bin for nvm and Homebrew installs), `npm install -g pnpm` refuses to overwrite that shim with EEXIST, and because both packages were in the same command the whole install failed: dsh was not installed either. Measured with npm 10 against a scratch prefix holding a corepack-style shim. On master the same machine installed dsh fine and the profile install used the existing pnpm. The command is now `npm install -g @deepseek-ai/dsh && (command -v pnpm >/dev/null || npm install -g pnpm)`, so pnpm is installed only when the install environment has none, and a failed dsh install still fails the command. The two hints that embed it follow (the launch-table drift test requires that), and the catalogue is regenerated; install.sh withholds the command for a launcher-only CLI, so its block is unchanged. The test now runs the real stock string through /bin/sh with a fake npm on a PATH it controls, for the three cases: no pnpm, an existing pnpm, and a failing dsh install. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
b7be8db80b
commit
688bdfb970
6 files changed
+76
-13
No files matched your search
@@ -92,7 +92,7 @@ const RUN_MODE_LAUNCH = {
|
||||
},
|
||||
deepseek: {
|
||||
label: 'DeepSeek',
|
||||
installHint: 'DeepSeek Harness CLI (dsh) not found. Install with: npm install -g @deepseek-ai/dsh pnpm',
|
||||
installHint: 'DeepSeek Harness CLI (dsh) not found. Install with: npm install -g @deepseek-ai/dsh && (command -v pnpm >/dev/null || npm install -g pnpm)',
|
||||
// The two-part availability check is deliberate. `dsh` being installed is
|
||||
// not enough — DeepSeek ships no terminal front door, so a box can have a
|
||||
// perfect binary and nothing a pane can run.
|
||||
|
||||
Reference in new issue
Block a user