vp install -g silently skips package lifecycle scripts, breaking script-dependent CLIs
Maintainers usually reply within 1 day
@liangmiQwQ is already working on this.
Since Sep 21, 2026.
Assessment
This issue has not been assessed yet.
Description
Describe the bug
vp install -g does not run package lifecycle scripts. Packages whose bin is produced by postinstall install silently broken: exit 0, the bin shim resolves, the tool errors on first run. There is no warning and no opt-in for global installs.
Reproduced with @opencode/cli 2.0.9 (opencode's v2 docs list a "vite+" install tab claiming no additional flag is needed: anomalyco/opencode#50310):
$ vp --version
vp v0.3.3 # latest published release
$ vp install -g @opencode/cli
# success, no warnings
$ opencode
Error: @opencode/cli's postinstall script was not run.
The installed package keeps a 229-byte placeholder at bin/opencode.exe; the real binary is already present under node_modules/@opencode/cli-darwin-arm64/bin/ — only the postinstall link is missing. Running node postinstall.mjs in the package directory repairs it, until the next vp upgrade re-runs the script-free install. Reproduced twice (fresh install and upgrade).
PR #2336 documents the current state ("vp's own global installs have no scripts", "vp install -g has no --allow-scripts plumbing"), so this reads as a known gap rather than a regression — but I couldn't find an issue tracking the user-visible fallout.
Possible directions: run scripts for global installs (npm parity), or keep skipping them but warn when scripts were skipped and provide an opt-in (--allow-scripts for -g, or a global equivalent of vp pm approve-builds). pnpm's onlyBuiltDependencies plus an install-time warning is a workable precedent for the latter.
Reproduction
No repository — this is global CLI install behavior, reproducible in any directory with the commands below.
Steps to reproduce
- Install Vite+ 0.3.3 (latest):
curl -fsSL https://vite.plus | bash vp install -g @opencode/cli— exits 0, no warningsopencode→Error: @opencode/cli's postinstall script was not run.
System Info
$ vp --version
vp v0.3.3
$ vp env current
Node.js:
Version 24.21.0
Source default
Bin Path /Users/legibet/.vite-plus/js_runtime/node/24.21.0/bin/node
Installed true
Mode managed
Used Package Manager
npm
Logs
No response
Validations
- Read the Contributing Guidelines.
- Check that there isn't already an issue for the same bug.
- Confirm this is a Vite+ issue and not an upstream issue (Vite, Vitest, tsdown, Rolldown, or Oxc).
- The provided reproduction is a minimal reproducible example.
- Dominant language
- Rust
- Stars
- 5.8k
- Forks
- 267
- Avg merge
- 20h 7m
- Merged PRs (30d)
- 139
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from voidzero-dev/vite-plus
-
pending triage
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
voidzero-dev/vite-plus#2854 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
voidzero-dev/vite-plus#2849 ·
Maintainers usually reply within 1 day
-
pending triage
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
voidzero-dev/vite-plus#2801 · 1 reaction ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
voidzero-dev/vite-plus#2097 · 10 comments · 2 reactions ·
Maintainers usually reply within 1 day
-
pending triage
Difficulty 4/5 3-5 days Newbie friendliness 48/100
voidzero-dev/vite-plus#2866 ·
Maintainers usually reply within 1 day
All issues in voidzero-dev/vite-plus
Similar issues
-
Change output crossing a compactsize boundary leaves the fee slightly below the requested feerateOpenbug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
bitcoindevkit/bdk_wallet#578 ·
Maintainers usually reply within 8 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
521xueweihan/HelloGitHub#3832 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
canonical/opentelemetry-collector-operator#409 ·
Maintainers usually reply within 1 day