Skip to content

[rush] Rush is not helpful when the underlying pnpm command fails #5294

@kaiyoma

Description

@kaiyoma

Summary

When the underlying pnpm command fails, Rush does not print the output of the command, which leaves the user confused about what went wrong or what to do next.

Repro steps

Run rush update in a scenario where the underlying pnpm command fails.

Expected result: Rush should be helpful to the user

Actual result: Here is the full output I'm seeing from Rush:

$ rush update --full
Found configuration in C:\Users\kgetz\Work\event-viewer\rush.json


Rush Multi-Project Build Tool 5.157.0 - https://rushjs.io
Node.js version is 22.14.0 (LTS)


Trying to acquire lock for pnpm-9.14.3
Acquired lock for pnpm-9.14.3
Found pnpm version 9.14.3 in C:\Users\kgetz\.rush\node-v22.14.0\pnpm-9.14.3

Symlinking "C:\Users\kgetz\Work\event-viewer\common\temp\pnpm-local"
  --> "C:\Users\kgetz\.rush\node-v22.14.0\pnpm-9.14.3"
Acquiring lock for "common\autoinstallers\rush-plugins" folder...
Autoinstaller folder is already up to date

Starting "rush update"
Trying to acquire lock for pnpm-9.14.3
Acquired lock for pnpm-9.14.3
Found pnpm version 9.14.3 in C:\Users\kgetz\.rush\node-v22.14.0\pnpm-9.14.3

Symlinking "C:\Users\kgetz\Work\event-viewer\common\temp\pnpm-local"
  --> "C:\Users\kgetz\.rush\node-v22.14.0\pnpm-9.14.3"
Transforming C:\Users\kgetz\Work\event-viewer\common\config\rush\.npmrc
  --> "C:\Users\kgetz\Work\event-viewer\common\temp\.npmrc"

Updating workspace files in C:\Users\kgetz\Work\event-viewer\common\temp

Checking installation in "C:\Users\kgetz\Work\event-viewer\common\temp"

Deleting files from C:\Users\kgetz\Work\event-viewer\common\temp\node_modules

Running "pnpm install" in C:\Users\kgetz\Work\event-viewer\common\temp

Scope: all 248 workspace projects
 WARN  1 deprecated subdependencies found: [email protected]
.                                        |    +2227 ++++++++++++++++++++++++++++++++++++++++++++++
Progress: resolved 2257, reused 2135, downloaded 0, added 2227, done

The command failed:
 C:\Users\kgetz\Work\event-viewer\common\temp\pnpm-local\node_modules\.bin\pnpm install --store C:\Users\kgetz\Work\event-viewer\common\temp/pnpm-store --config.cacheDir=C:\Users\kgetz\Work\event-viewer\common\temp/pnpm-store --config.stateDir=C:\Users\kgetz\Work\event-viewer\common\temp/pnpm-store --no-prefer-frozen-lockfile --strict-peer-dependencies --config.auto-install-peers=false --config.resolutionMode=highest --config.ignoreCompatibilityDb --recursive --link-workspace-packages false --reporter default
ERROR: Error: Process exited with code 1
Giving up after 1 attempts

Details

You can see from the above output that the user has no idea what happened or what to do next. At the very least, Rush should be redirecting stdout/stderr from pnpm to the screen, so we can see what happened.

Standard questions

Please answer these questions to help us investigate your issue more quickly:

Question Answer
@microsoft/rush globally installed version? 5.157.0
rushVersion from rush.json? 5.157.0
useWorkspaces from rush.json? No
Operating system? Windows 11
Would you consider contributing a PR? No
Node.js version (node -v)? 22.14.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Needs triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions