Skip to content

Commit f6fa7ab

Browse files
committed
Add installation troubleshooting guide
1 parent 729327a commit f6fa7ab

4 files changed

Lines changed: 180 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,13 @@
33
All notable changes to DevNav are documented here. The project follows Semantic
44
Versioning.
55

6+
## [0.3.1] - 2026-08-11
7+
8+
### Documentation
9+
10+
- Add a user-friendly FAQ and troubleshooting guide for installation, project roots, PowerShell profiles, PATH, agent CLIs, checksums, updates, and source builds.
11+
- Explain which setup tasks the installer handles automatically and when Rust or MSVC are required.
12+
613
## [0.3.0] - 2026-08-11
714

815
### Added

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "dev-nav"
3-
version = "0.3.0"
3+
version = "0.3.1"
44
edition = "2024"
55
rust-version = "1.85"
66
description = "A fast, keyboard-first Windows workspace navigator for PowerShell 7"

README.md

Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,177 @@ Solo para desarrollo; requiere Rust stable y MSVC Build Tools:
9191
.\install.ps1 -BuildFromSource
9292
```
9393

94+
## FAQ y solución de problemas
95+
96+
### ¿La instalación normal necesita Rust o Visual Studio?
97+
98+
No. `install.ps1` descarga el binario correcto para Windows x64 o ARM64 y
99+
comprueba su checksum SHA-256 antes de instalarlo. No uses `-BuildFromSource` si
100+
solo quieres utilizar DevNav.
101+
102+
Rust y MSVC Build Tools únicamente son necesarios para compilar. En ese caso,
103+
instala Rust mediante [rustup](https://rust-lang.org/tools/install/) y el workload
104+
**Desktop development with C++** de
105+
[Visual Studio Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/).
106+
Después, abre una PowerShell nueva y comprueba:
107+
108+
```powershell
109+
rustc --version
110+
cargo --version
111+
.\install.ps1 -BuildFromSource
112+
```
113+
114+
El instalador detecta si falta `cargo` y muestra un error antes de intentar
115+
compilar.
116+
117+
### `dev` no se reconoce después de instalar
118+
119+
DevNav no añade `dev.exe` al `PATH`. Instala un módulo de PowerShell que crea el
120+
alias `dev`; este wrapper es necesario para que la carpeta seleccionada se
121+
convierta en la ubicación de la PowerShell actual.
122+
123+
Primero, cierra todas las ventanas de PowerShell 7 y abre una nueva. Si continúa
124+
sin aparecer, ejecuta:
125+
126+
```powershell
127+
$module = Join-Path $env:LOCALAPPDATA 'Programs\DevNav\DevNav.psm1'
128+
Test-Path -LiteralPath $module
129+
Import-Module $module -Force
130+
Get-Command dev
131+
```
132+
133+
Si `Test-Path` devuelve `False`, vuelve a ejecutar `install.ps1`. Si la importación
134+
manual funciona, comprueba que estás usando PowerShell 7 (`pwsh`) y que su perfil
135+
se carga al iniciar:
136+
137+
```powershell
138+
$PSVersionTable.PSVersion
139+
$PROFILE
140+
Test-Path -LiteralPath $PROFILE
141+
```
142+
143+
PowerShell mantiene [perfiles diferentes según el usuario y el
144+
host](https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_profiles).
145+
Ejecuta el instalador desde el mismo PowerShell 7 en el que quieras usar `dev`.
146+
147+
### DevNav abre una carpeta de proyectos incorrecta
148+
149+
Comprueba primero el valor efectivo:
150+
151+
```powershell
152+
Get-DevRoot
153+
Test-Path -LiteralPath (Get-DevRoot)
154+
```
155+
156+
Para corregirlo de forma persistente y aplicarlo también a la sesión actual:
157+
158+
```powershell
159+
$newRoot = (Resolve-Path -LiteralPath 'D:\Proyectos').Path
160+
[Environment]::SetEnvironmentVariable('DEV_HOME', $newRoot, 'User')
161+
$env:DEV_HOME = $newRoot
162+
Get-DevRoot
163+
```
164+
165+
La carpeta debe existir antes de usar `Resolve-Path`. Para recuperar la ruta
166+
predeterminada `$HOME\programacion`:
167+
168+
```powershell
169+
[Environment]::SetEnvironmentVariable('DEV_HOME', '', 'User')
170+
Remove-Item Env:DEV_HOME -ErrorAction SilentlyContinue
171+
```
172+
173+
El valor con alcance `User` persiste para futuras terminales; `$env:DEV_HOME`
174+
solo cambia el proceso actual. Consulta la documentación de
175+
[variables de entorno de PowerShell](https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_environment_variables)
176+
para conocer los distintos alcances.
177+
178+
### Codex, Claude, OpenCode o Kimi muestran «comando no encontrado»
179+
180+
Los agentes son opcionales y no los instala DevNav. Comprueba cuáles están
181+
disponibles en la PowerShell actual:
182+
183+
```powershell
184+
'codex', 'claude', 'opencode', 'kimi' | ForEach-Object {
185+
$command = Get-Command $_ -ErrorAction SilentlyContinue
186+
[pscustomobject]@{
187+
CLI = $_
188+
Disponible = [bool] $command
189+
Ruta = $command.Source
190+
}
191+
}
192+
```
193+
194+
Utiliza preferentemente el instalador oficial de cada CLI, que normalmente
195+
configura el `PATH`. Si el ejecutable ya existe pero su carpeta no está incluida,
196+
añade **la carpeta que contiene el ejecutable**, no el archivo `.exe`:
197+
198+
```powershell
199+
$toolDirectory = 'C:\ruta\al\directorio\bin'
200+
$userPath = [Environment]::GetEnvironmentVariable('Path', 'User')
201+
$entries = @($userPath -split ';' | Where-Object { $_ })
202+
203+
if ($entries -notcontains $toolDirectory) {
204+
$updatedPath = (@($entries) + $toolDirectory) -join ';'
205+
[Environment]::SetEnvironmentVariable('Path', $updatedPath, 'User')
206+
}
207+
208+
# Lo activa también en esta PowerShell.
209+
$env:Path = "$env:Path;$toolDirectory"
210+
```
211+
212+
Después, repite `Get-Command <nombre>` antes de abrir el agente desde DevNav.
213+
214+
### PowerShell bloquea `install.ps1`
215+
216+
No desactives globalmente la [política de ejecución de
217+
PowerShell](https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_execution_policies).
218+
Revisa primero el script y, si confías en esta copia del repositorio, desbloquea
219+
únicamente ese archivo:
220+
221+
```powershell
222+
Get-ExecutionPolicy -List
223+
Get-Content -LiteralPath .\install.ps1
224+
Unblock-File -LiteralPath .\install.ps1
225+
.\install.ps1
226+
```
227+
228+
Si `MachinePolicy` o `UserPolicy` imponen el bloqueo, es una directiva de grupo:
229+
consulta al administrador del equipo en lugar de intentar evitarla.
230+
231+
### Falla la descarga o no coincide el checksum
232+
233+
El instalador cancela la operación si no puede descargar la release o si el hash
234+
del ejecutable no coincide con `SHA256SUMS.txt`. Comprueba la conexión a GitHub,
235+
el proxy o firewall corporativo y vuelve a intentarlo. No omitas la verificación:
236+
un checksum incorrecto puede indicar una descarga incompleta o manipulada.
237+
238+
### La TUI se cierra o las teclas no responden correctamente
239+
240+
Confirma que utilizas PowerShell 7 dentro de Windows Terminal y ejecuta `dev`, no
241+
el `dev.exe` interno. Cierra cualquier instancia anterior, actualiza DevNav y abre
242+
una terminal nueva. Si persiste, anota el mensaje mostrado al volver al prompt y
243+
la salida de:
244+
245+
```powershell
246+
$PSVersionTable.PSVersion
247+
Get-Command dev
248+
Get-DevRoot
249+
```
250+
251+
### ¿Cómo se actualiza DevNav?
252+
253+
Desde el clon local:
254+
255+
```powershell
256+
Set-Location C:\ruta\al\clon\dev-nav
257+
git pull --ff-only
258+
.\install.ps1
259+
```
260+
261+
El instalador puede ejecutarse varias veces: sustituye el binario y el módulo,
262+
verifica nuevamente el checksum y evita duplicar la línea de importación en el
263+
perfil.
264+
94265
## Favoritos globales, incluso fuera de la raíz
95266

96267
Los favoritos no están limitados a la carpeta principal. Siempre aparecen al

0 commit comments

Comments
 (0)