Vite Plus PATH shim can shadow external CLI upgrades (OpenCode example)
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 50/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- node.js, rust
- Área
- cli, operating-systems, tooling
Línea de trabajo
Empieza reproduciendo el caso de Windows PowerShell con opencode --version y opencode upgrade --print-logs; después, inspecciona cómo Vite Plus coloca los ejecutables en ~/.vite-plus/bin y cómo PATH los resuelve. Se considera terminado cuando una actualización externa correcta hace que el comando normal opencode ejecute la versión recién instalada sin reemplazo manual; conserva el alcance indicado en torno a OpenCode, salvo que se confirmen otros casos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
On Windows, a Vite Plus-owned executable in ~\.vite-plus\bin can remain ahead of a newer version installed by that CLI's own updater. The shell command then continues to run the stale Vite Plus executable.
OpenCode is the confirmed example below. This may affect any externally updatable CLI for which Vite Plus installs an executable with the same command name, but this report does not claim other packages are currently affected.
Environment
- Windows
- Vite Plus:
0.2.4 - OpenCode before upgrade:
1.17.18
Reproduction
opencode --version
# 1.17.18
opencode upgrade --print-logs
The updater reported:
Using method: npm
From 1.17.18 → 1.18.1
Upgrade complete
But immediately afterwards:
opencode --version
# 1.17.18
Investigation
The command resolved to the Vite Plus-owned path:
C:\Users\<user>\.vite-plus\bin\opencode.exe
The updater had installed OpenCode 1.18.1 at:
C:\Users\<user>\.vite-plus\js_runtime\node\22.19.0\node_modules\opencode-ai\bin\opencode.exe
Running that executable directly returned 1.18.1; the PATH executable remained at 1.17.18.
Scope checked
- Confirmed:
opencodewas shadowed by the stale Vite Plus executable. - Not implicated in this installation:
npm,npx, andcorepackresolve to NVM rather than~\.vite-plus\bin. - Potentially affected pattern: any CLI that manages its own upgrades while Vite Plus also places a same-named executable earlier on PATH.
Expected behavior
After a CLI reports a successful self-upgrade, its normal shell command should run the upgraded version.
Workaround
Replacing the stale Vite Plus executable with the newly installed OpenCode executable made opencode --version report 1.18.1.
Suggested direction
Vite Plus could avoid installing static, same-named binaries for externally self-updating CLIs, make them forwarding shims, or provide a way to refresh the Vite Plus bin entry after an external upgrade.
- Lenguaje dominante
- Rust
- Estrellas
- 5.8k
- Forks
- 263
- Merge medio
- 1 d 3 h
- PR fusionados (30 d)
- 147
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de voidzero-dev/vite-plus
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
voidzero-dev/vite-plus#2804 · 1 reacción ·
-
pending triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
voidzero-dev/vite-plus#2801 · 1 reacción ·
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
voidzero-dev/vite-plus#2097 · 10 comentarios · 2 reacciones ·
-
documentation
voidzero-dev/vite-plus#2800 · 1 asignado ·
-
pending triage
Dificultad 3/5 1-2 días Aptitud para principiantes 65/100
voidzero-dev/vite-plus#2796 · 1 comentario ·
Todos los issues de voidzero-dev/vite-plus
Issues similares
-
bug github_actions
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
registrystack/registry-stack#1393 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
longbridge/gpui-kit#3223 ·
-
bug engine
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
rocky-data/rocky#2181 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
oasisprotocol/oasis-sdk#2523 ·
-
[indexer] [QA] Add a focused test for the new NonRetryableError / assertSocketAlive() behavior. Abiertobot:ai-assisted component:indexer QA-roadmap status:untriaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
midnightntwrk/midnight-indexer#1557 ·