scoop vs winget — gestores de paquetes de Windows comparados y divididos
winget para aplicaciones de escritorio, scoop para CLI/portable. Usa ambos — configuración y división práctica.
Los gestores de paquetes de Windows no tienen un estándar unificado único como Homebrew en macOS. winget (oficial de MS) y scoop (comunidad) tienen fortalezas y debilidades claras, así que normalmente se usan ambos. Esta guía cubre las diferencias, la configuración y una división práctica.
Pienso que el error habitual es intentar elegir uno solo. Antes pensaba que la duplicación era mala señal; ahora veo que cada uno cubre un espacio diferente, y usarlos juntos es más limpio que forzar a uno de los dos a hacer lo que no hace bien.
Objetivo: Windows 10/11 (configuración inicial de Windows completa).
Resumen
| Elemento | winget | scoop | Chocolatey |
|---|---|---|---|
| Mantenido por | Microsoft oficial | Comunidad | Comunidad |
| Ubicación de instalación | Sistema (admin) | ~/scoop/ (usuario, sin admin) | Sistema (admin) |
| Fortaleza | Aplicaciones GUI de escritorio, catálogo oficial | Herramientas CLI, portable, aislado | Catálogo más antiguo |
| Debilidad | Catálogo de herramientas CLI débil | Menos apps GUI de escritorio | UAC en cada ocasión |
| Privilegio | Admin requerido (normalmente) | Nivel de usuario | Admin requerido |
| Recomendado para | Apps de escritorio (Chrome, VS Code, etc.) | CLIs de desarrollo (jq, fzf, gh, neovim, etc.) | Solo catálogo heredado |
Recomendación: winget (escritorio) + scoop (CLI). Chocolatey solo para lo que falte en ambos.
1. winget — Aplicaciones de escritorio primero
1.1 Comprobar la instalación
Integrado en Win11 y Win10 21H1+. Verifica:
winget --version
# v1.7.x o superiorSi no está presente, actualiza «App Installer» desde Microsoft Store.
1.2 Comandos habituales
# Buscar
winget search vscode
# Instalar
winget install --id Microsoft.VisualStudioCode -e
# Actualizar todo
winget upgrade --all
# Listar instalados
winget list
# Desinstalar
winget uninstall --id ...1.3 Paquetes winget recomendados
# Navegadores / editores
winget install --id Google.Chrome -e
winget install --id Mozilla.Firefox -e
winget install --id Microsoft.VisualStudioCode -e
# Comunicación
winget install --id Notion.Notion -e
winget install --id SlackTechnologies.Slack -e
winget install --id Discord.Discord -e
# Desarrollo
winget install --id Git.Git -e
winget install --id Docker.DockerDesktop -e
winget install --id Microsoft.PowerShell -e
winget install --id JetBrains.Toolbox -e
# Utilidades
winget install --id 7zip.7zip -e
winget install --id Anysphere.Cursor -e
winget install --id Tailscale.Tailscale -e1.4 export / import
# Exportar paquetes de la máquina actual
winget export -o packages.json
# Importar en una máquina nueva
winget import -i packages.jsonRestaura todas las apps GUI de un golpe — un gran ahorro de tiempo en PCs nuevos.
2. scoop — Herramientas CLI primero
2.1 Instalación
No se necesita PowerShell como administrador:
# Desbloquear la política una vez (permanente)
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
# Instalar scoop
irm get.scoop.sh | iexUbicación de instalación: ~\scoop\ (carpeta de usuario). Sin cambios en el sistema = limpio.
2.2 Configuración inicial
# Mejor búsqueda (entre buckets distintos al principal)
scoop install scoop-search
# Buckets adicionales (extras, versions, java, etc.)
scoop bucket add extras
scoop bucket add versions
scoop bucket add java
scoop bucket add nerd-fonts2.3 Comandos habituales
scoop search jq # buscar
scoop install jq # instalar
scoop update # obtener todos los manifiestos
scoop update * # actualizar todos los paquetes
scoop list # listar instalados
scoop uninstall jq # desinstalar
scoop cleanup * # eliminar versiones antiguas2.4 Paquetes scoop recomendados
# Esenciales de CLI
scoop install jq # CLI para JSON
scoop install fzf # buscador difuso
scoop install ripgrep # rg, sustituto de grep
scoop install fd # sustituto de find
scoop install bat # cat con sintaxis resaltada
scoop install eza # sustituto de ls
scoop install gh # GitHub CLI
scoop install neovim
scoop install delta # paginador de git diff
# Fuentes
scoop install JetBrainsMono-NF
scoop install FiraCode-NF
# Utilidades del sistema
scoop install sudo # sudo estilo WSL para PowerShell
scoop install which
scoop install grep # GNU grep
scoop install sed # GNU sed
scoop install touch2.5 export / import
# Exportar — JSON
scoop export -c > scoop.json
# Importar en una máquina nueva
scoop import scoop.jsonMismo patrón que winget. Automatiza la configuración en ambas máquinas.
3. Evitar conflictos
Instalar la misma herramienta con ambos hace que sea ambiguo cuál se ejecuta (depende del orden del PATH).
Regla: una herramienta, un gestor. Comprueba duplicados con Get-Command git -All.
3.1 Git
- winget Git for Windows = SSH/GCM/ayuda completos (recomendado)
- scoop git = más ligero, portable
- Normalmente usa winget Git (integración con GCM).
3.2 Node / Python
- Ambos pueden instalarlos, pero se prefiere mise / nvs / pyenv-win (gestores de versiones)
- Consulta mac/dev-toolchain — mise funciona también en Windows.
3.3 VS Code
- Solo winget — actualización automática integrada
- el VS Code de scoop es portable, sin actualización automática
4. Chocolatey — ¿Cuándo?
Ocasionalmente algo que falta en winget y scoop existe (software empresarial especializado, controladores). El catálogo de Chocolatey es el más antiguo y amplio.
# PowerShell como administrador
Set-ExecutionPolicy Bypass -Scope Process -Force
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))choco install <paquete> -yConsentimiento UAC cada vez. Recomendación: último recurso.
5. Tabla de división práctica
| Categoría | Gestor | Ejemplos |
|---|---|---|
| Navegadores | winget | Chrome, Firefox, Edge |
| Editores/IDEs | winget | VS Code, Cursor, JetBrains Toolbox |
| Apps de comunicación | winget | Slack, Discord, Notion |
| Clientes de Git | winget | Git for Windows, GitHub Desktop |
| Contenedores | winget | Docker Desktop |
| Virtualización | winget | VirtualBox, VMware |
| Fuentes (Nerd) | scoop | JetBrainsMono-NF, FiraCode-NF |
| Herramientas CLI | scoop | jq, fzf, ripgrep, fd, bat, eza, gh, delta |
| Utilidades de shell | scoop | sudo, which, neovim |
| Parches / controladores | (manual o Chocolatey) | NVIDIA Studio Driver, etc. |
6. Script de automatización (opcional)
Automatiza los primeros 30 minutos de una nueva configuración de Windows. setup.ps1:
# winget — escritorio
$wingetApps = @(
"Google.Chrome",
"Microsoft.VisualStudioCode",
"Anysphere.Cursor",
"Git.Git",
"Microsoft.PowerShell",
"Docker.DockerDesktop",
"JetBrains.Toolbox",
"Tailscale.Tailscale",
"AgileBits.1Password",
"AgileBits.1Password.CLI"
)
foreach ($app in $wingetApps) {
winget install --id $app -e --accept-package-agreements --accept-source-agreements
}
# scoop — CLI
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
irm get.scoop.sh | iex
scoop bucket add extras
scoop bucket add nerd-fonts
$scoopApps = @(
"jq", "fzf", "ripgrep", "fd", "bat", "eza", "gh", "delta",
"neovim", "sudo", "JetBrainsMono-NF"
)
foreach ($app in $scoopApps) {
scoop install $app
}Ejecutar:
PowerShell -ExecutionPolicy Bypass -File .\setup.ps1Combinado con el
setup-windows.ps1de la configuración inicial de Windows, un Windows nuevo está listo en menos de una hora.
Verificación
winget --version/scoop --versionfuncionan amboswinget list/scoop listmuestran los paquetes instaladosgh --version— herramienta instalada con scoop en el PATHcode --version— herramienta instalada con winget en el PATHwinget upgrade --all/scoop update *— ambos tienen éxito
Resolución de problemas
winget falta (Windows 10)
- Microsoft Store → actualiza «App Installer»
- Versión anterior a 21H1: actualiza el SO
La instalación de scoop falla con «running scripts is disabled»
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserwinget «Failed when searching source»
winget source reset --force
winget source updatePaquete de scoop no en el PATH
- Abre una nueva terminal — scoop actualiza el PATH tras la instalación, pero las shells existentes no lo ven
- O
$env:Path = [System.Environment]::GetEnvironmentVariable("Path", "User")
Conflicto de la misma herramienta
Get-Command foo -All para inspeccionar el orden del PATH. Elimina uno de los lados y reinstala.
Fuente de scoop no aplicada
- scoop instala fuentes por usuario. Otros usuarios/servicios del sistema no las verán
- Para todo el sistema, usa winget o instalación manual
Referencias
- Configuración inicial de Windows — fundamentos de winget
- Configuración de PowerShell 7 — entorno pwsh
- Ajuste de WSL2 — gestores de paquetes Linux (apt/dnf)
- winget (oficial)
- scoop (oficial)
- Chocolatey
Registro de cambios
- 2026-05-12: Primer borrador. Comparativa winget vs scoop vs Chocolatey + tabla de división + script de automatización + seis casos de resolución de problemas.