Skip to content

fix: never install into a version-managed npm prefix - #98

Merged
R-Dson merged 1 commit into
mainfrom
fork/installer-versioned-prefix
Aug 29, 2026
Merged

R-Dson merged 1 commit into
mainfrom
fork/installer-versioned-prefix

Conversation

@R-Dson

@R-Dson R-Dson commented Aug 29, 2026

Copy link
Copy Markdown
Owner

Follow-up to #97, found by running the one-liner on a mise machine: npm prefix -g pointed inside mise's node 26.2.0 install, so the fork landed in ~/.local/share/mise/installs/node/26.2.0/bin/pi — a directory that stops existing the moment mise upgrades node, orphaning the install (and it shadowed the stable ~/.local/bin/pi copy).

Fix: the prefix selection now skips version-managed npm prefixes (mise, nvm, asdf, volta, fnm) and falls through to ~/.local, with the existing "Using install prefix" line making the choice visible. PI_INSTALL_PREFIX still overrides for anyone who genuinely wants a managed prefix.

End-to-end verified on this machine: the plain one-liner now installs to ~/.local/bin/pi and pi reports 0.84.4-fork.4. The stray install and mise's upstream pi copy were removed (one pi on PATH total).

npm prefix -g under mise/nvm/asdf/volta/fnm points inside the
version-managed node install, and npm globals there vanish when the
manager switches or upgrades node (exactly what happened on this
machine: the one-liner installed the fork into mise's node 26.2.0 dir).
Those prefixes are now skipped and ~/.local wins; PI_INSTALL_PREFIX
still overrides. End-to-end verified: the plain one-liner now lands in
~/.local/bin/pi.
@R-Dson
R-Dson merged commit d39ab25 into main Aug 29, 2026
1 check passed
@R-Dson
R-Dson deleted the fork/installer-versioned-prefix branch August 29, 2026 11:41
R-Dson added a commit that referenced this pull request Aug 31, 2026
install.sh: preflight checks (curl, npm, Node >= 22.19), install-prefix
selection (npm global prefix or ~/.local, PI_INSTALL_PREFIX override),
downgrade warning, foreign-binary guard, refusal to install into a
version-managed npm prefix, pinned or latest tarball fetch, npm install
-g --ignore-scripts, post-install PATH note, and --uninstall.
R-Dson added a commit that referenced this pull request Aug 31, 2026
install.sh: preflight checks (curl, npm, Node >= 22.19), install-prefix
selection (npm global prefix or ~/.local, PI_INSTALL_PREFIX override),
downgrade warning, foreign-binary guard, refusal to install into a
version-managed npm prefix, pinned or latest tarball fetch, npm install
-g --ignore-scripts, post-install PATH note, and --uninstall.
R-Dson added a commit that referenced this pull request Sep 4, 2026
Adds missing entries the audit found: the fork installer pipeline
(#97/#98), the musl fd/rg Linux bootstrap fix (earendil-works#9070), and the
signal-killed exit-code fix (earendil-works#8994, agent + coding-agent). Duplicates
the user-facing ai/agent changes into the coding-agent changelog per
the /cl cross-package rule: per-turn Anthropic effort persistence, the
xhigh thinking-level cluster (#124/#139), the timeoutMs deadline leak
(#139), proxied thinking-level persistence, and the provider-fix round
(earendil-works#9021/earendil-works#8961/earendil-works#9047).
R-Dson added a commit that referenced this pull request Sep 4, 2026
…arball with vendored deps, fork-aware self-update (#22, #23, #25, #26, #27, #28, #36, #37, #97, #98, #151)

Squash of the fork's packaging, publishing, install, and self-update work
onto upstream history.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant