fix(pm): put tools on PATH before the venv sync
Windows PowerShell 5.1 returns every match from Get-Command. .Source on that array joins the paths with a space, and the call operator then treats the joined string as one program name. Git for Windows ships git.exe in cmd\ and bin\, so setup died with CommandNotFoundException before pm install ran. setup-hermes.ps1 now installs the tool closure first (`pm install --tools-only`), then prepares the ARM64 compiler environment, then syncs the venv. The sync inherits that compiler environment. A bare `pm install` and the update takeover path publish tools and put them on PATH before uv sync. A missing tool stops the sync. A missing venv does not. Verified: scripts/run_tests.sh on test_install_default_closure.py, test_install_extra.py, and test_windows_build_deps.py — 13 passed.
This commit is contained in:
@@ -492,7 +492,8 @@ hermes pm install chromium
|
||||
|
||||
| Command | Effect |
|
||||
|---|---|
|
||||
| `pm install [names...]` | Install named packages. With no names, provision required tools plus Python and sync the `all` extra. |
|
||||
| `pm install [names...]` | Install named packages. With no names, provision required tools plus Python, put those tools on PATH, and then sync the `all` extra. |
|
||||
| `pm install --tools-only` | Install that tool closure and put it on PATH, then stop. The venv sync does not run. |
|
||||
| `pm env [names...]` | Print the composed environment of installed packages as JSON. It does not install missing packages. |
|
||||
| `pm doctor` | Check installed tool identities, files, and digests against the lock. |
|
||||
| `pm repair` | Rebuild the recorded Python dependency set in a new generation, validate it, then select it. Does not update pins, features, or plugin configuration. |
|
||||
|
||||
Reference in New Issue
Block a user