devAlice
← Windows

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

ElementowingetscoopChocolatey
Mantenido porMicrosoft oficialComunidadComunidad
Ubicación de instalaciónSistema (admin)~/scoop/ (usuario, sin admin)Sistema (admin)
FortalezaAplicaciones GUI de escritorio, catálogo oficialHerramientas CLI, portable, aisladoCatálogo más antiguo
DebilidadCatálogo de herramientas CLI débilMenos apps GUI de escritorioUAC en cada ocasión
PrivilegioAdmin requerido (normalmente)Nivel de usuarioAdmin requerido
Recomendado paraApps 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 superior

Si 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 -e

1.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.json

Restaura 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 | iex

Ubicació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-fonts

2.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 antiguas

2.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 touch

2.5 export / import

# Exportar — JSON
scoop export -c > scoop.json
 
# Importar en una máquina nueva
scoop import scoop.json

Mismo 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> -y

Consentimiento UAC cada vez. Recomendación: último recurso.

5. Tabla de división práctica

CategoríaGestorEjemplos
NavegadoreswingetChrome, Firefox, Edge
Editores/IDEswingetVS Code, Cursor, JetBrains Toolbox
Apps de comunicaciónwingetSlack, Discord, Notion
Clientes de GitwingetGit for Windows, GitHub Desktop
ContenedoreswingetDocker Desktop
VirtualizaciónwingetVirtualBox, VMware
Fuentes (Nerd)scoopJetBrainsMono-NF, FiraCode-NF
Herramientas CLIscoopjq, fzf, ripgrep, fd, bat, eza, gh, delta
Utilidades de shellscoopsudo, 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.ps1

Combinado con el setup-windows.ps1 de la configuración inicial de Windows, un Windows nuevo está listo en menos de una hora.

Verificación

  1. winget --version / scoop --version funcionan ambos
  2. winget list / scoop list muestran los paquetes instalados
  3. gh --version — herramienta instalada con scoop en el PATH
  4. code --version — herramienta instalada con winget en el PATH
  5. winget 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 CurrentUser

winget «Failed when searching source»

winget source reset --force
winget source update

Paquete 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

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.