Winget, el gestor de paquetes de Windows.

Winget: el administrador de paquetes de Windows

Cat ramen
Cat ramen Windows

Históricamente, Windows ha carecido de… bueno, muchas cosas, pero una de las ausencias (para no decir falencias) más evidentes, ha sido la falta de un gestor de paquetes.


En mayo del 2020 (en plena pandemia del COVID-19), fue lanzado el administrador de paquetes Winget, como parte de la versión preliminar de Windows Package Manager.

Bill gates.

Tuvieron que pasar 35 años para que la gente de Microsoft desarrollara un gestor de paquetes, algo impensado para la mayoría de los sistemas *NIX, que lo tienen incorporado desde hace mucho más tiempo.

Pero, si bien con unos cuantos años de atraso, ahora Windows tiene Winget, y en este artículo, te propongo ver el funcionamiento básico del gestor de paquetes oficial de Windows.

¿Qué es un administrador de paquetes?

Empecemos por lo básico: un administrador de paquetes es un sistema o conjunto de herramientas que se utilizan para automatizar la instalación, actualización y configuración de software; en otras palabras: te ayuda a gestionar programas en tu sistema operativo.

Pero… ¿Qué es un paquete? Un paquete no es otra cosa que una aplicación o programa, como quieras llamarle. 

El manifesto

Por otro lado, tenemos el concepto de manifiesto. Un manifiesto es conjunto de datos (generalmente un único archivo), que contiene información (metadatos) sobre el paquete a instalar. 

Los manifiesto usados por Winget, utilizan el formato YAML (podés aprender más sobre este formato acá: Aprende X en Y minutos, en done X = YAML)

Dentro de los datos que se tienen que especificar en el manifiesto, están el nombre del paquete, la versión, la ubicación del instalador, la descripción y un largo etcétera. 

A partir de estos datos, el gestor de paquetes sabe cómo instalar los programas.

Así luce un manifiesto:

PackageIdentifier: "Microsoft.WindowsTerminal"
PackageVersion: "1.6.10571.0"
PackageLocale: "en-US"
Publisher: "Microsoft"
PublisherUrl: "https://www.microsoft.com/"
PrivacyUrl: "https://privacy.microsoft.com/"
PackageName: "Windows Terminal"
PackageUrl: "https://learn.microsoft.com/windows/terminal/"
License: "MIT"
LicenseUrl: "https://github.com/microsoft/terminal/blob/master/LICENSE"
ShortDescription: "The new Windows Terminal, a tabbed command line experience for Windows."
Tags: 
- "Console"
- "Command-Line"
- "Shell"
- "Command-Prompt"
- "PowerShell"
- "WSL"
- "Developer-Tools"
- "Utilities"
- "cli"
- "cmd"
- "ps"
- "terminal"
ManifestType: "defaultLocale"
ManifestVersion: "1.5.0"

​¿Qué es Winget?

El Administrador de Paquetes de Windows, conocido como Winget, es una herramienta esencial para la gestión de software en los sistemas operativos Windows 10 y Windows 11.

Este comando, (que es un binario llamado winget.exe de solo 12kb), seguro les resulta familiar a los usuarios de Linux que están acostumbrados a utilizar gestores como apt, yum, entre tantos otros.

Básicamente, Winget facilita las operaciones de instalación, actualización, configuración, verificación y eliminación de software de manera eficiente, y todo a través de la línea de comando (consolita, hacker). 

¿Cómo saber si tengo instalado Winget en Windows?

Para saber si tu Windows tiene Winget instalado, simplemente abrí una consola presionando Win + R, escribí cmd, presiona Enter y ejecuta:

winget

💡 ¿Por qué no usas cmder? Te facilita la vida.

Si ves algo como esto, significa que estás listo para comenzar a utilizarlo:

winget instalado en Windows 10.
Respuesta a la invocación de Winget, cuando está instalado en Windows.
Administrador de paquetes de Windows v1.7.10582
Copyright (c) Microsoft Corporation. Todos los derechos reservados.

Si no lo tenes, es necesario verificar que tu versión de Windows es compatible con winget. Según la documentación oficial, winget se encuentra disponible para Windows 10 1709 (build 16299) o superior.

Para verificar la versión de Windows, y ya que tenemos la consola abierta, ejecuta el siguiente comando: ver

Si tenes la versión que soporta Winget, podés descargar el ejecutable desde la siguiente página: Instalar Winget.

Usando Winget

Todos los comandos que ofrece Winget, giran (obviamente) alrededor de los paquetes. Así que vamos a hacer un repaso por las principales funcionalidades que ofrece este pequeño, pero cuasi poderoso, administrador.

Buscando paquetes

Una forma de buscar programas que esten disponibles para instalar a través de Winget, es utilizar el buscador https://winget.run

Winget Run es un motor de búsqueda de paquetes disponibles para ser utilizados con Winget.

Podés buscar por diferentes criterios, como ser:

  • Nombre: El nombre del paquete; generalmente coincide con el nombre del programa.
  • Publisher: Quien es el responsable de publicarlo, por ejemplo: Microsoft, Vivaldi LLC, etc.
  • Description: Descripción del paquete. Por ejemplo: «Advance text editor».
  • tags: Las clásicas etiquetas. Ejemplo: browser, editor, open-source

Una funcionalidad «simpática» de este buscador, es que te muestra los resultados parciales a medida que vas buscando:

Buscando paquetes con winget.run.
Buscando paquetes con winget.run.

🤔 ¿Sabías qué? Al momento de escribir este artículo (febrero 2024), hay más de 4000 paquetes indexados en este buscador.

Otra forma de buscar paquetes, es utilizando directamente Winget. Para eso, ejecutamos: winget search micro

Y vemos una larga lista con los resultados.

Winget listando los paquetes disponibles.
Winget listando los paquetes disponibles.

Si conocemos el identificador del paquete es mucho más fácil, dado que únicamente retorna un resultado, aunque es poco probable que de antemano conozcas el id del paquete: winget  install --id zyedidia.micro

Winget listando un paquete por su identificador.
Winget listando un paquete por su identificador.

Instalando un paquete

Ya que estamos usando Winget Run, buscamos Micro y copiamos el comando de instalación, que en este caso es: winget install -e --id zyedidia.micro

Buscando un paquetes en winget.run.
Buscando un paquetes en winget.run.

Si todo salió bien, vas a ver algo como esto:

Instalando un paquete con Winget.
Instalando un paquete con Winget.

Un punto interesante, es que automáticamente se agregó la ruta al ejecutable en el PATH del usuario, por lo tanto, si reinicias la consola y ejecutas micro, tendrías que ver tu nuevo flamante editor:

Editor micro instalado con winget.
Editor micro instalado con winget.

Actualizando un paquete

Para ver si tenemos disponible la última versión de un programa, utilizamos el comando upgrade.

Siguiendo nuestro ejemplo con micro:  winget upgrade --id zyedidia.micro

Desinstalando un paquete

Podemos desinstalar un paquete utilizando el comando uninstall.

winget uninstall --id zyedidia.micro

Viendo un paquete

Si por algún motivo (¿honesta curiosidad?), queres conocer los detalles de un paquete, podes hacerlo ejecutando winget show

Ejemplo: winget show micro

Mostrar los datos de un paquete con Winget show.
Mostrar los datos de un paquete con Winget show.

Básicamente, te permite ver los datos que se encuentran en el manfiesto, como ser, entre otros, los siguientes:

  • Versión
  • Editor (quién es el creador)
  • URL del editor y de la licencia
  • Etiquetas que usa

Quizás lo más interesante, es que te muestra el tipo de instalador y la dirección desde donde lo descarga.

Descargar el instalador

¿En dónde se descargan los ejecutables? Por defecto, winget install descargará el instalador en el directorio Download del usuario. Si queres modificar la ubicación, podés usar la opción --download-directory para especificar una ruta a la carpeta en donde queres se descargue el ejecutable.

Recursos sobre Winget

Estos son solo algunos de los comandos disponibles. Los más básicos. Si queres profundizar más en las posibilidades que te brinda Winget, te recomiendo darle una mirada a los siguiente recursos:

Para ir cerrando

Winget ofrece a los usuarios de Windows un práctico administrador de paquetes para interactuar, si te gusta la consola, fácilmente con los paquetes de Microsoft Windows. 

Una de las ventajas de Winget (y en general de los gestores de paquetes por línea de comando), es que los desarrolladores y administradores pueden automatizar e integrar sin problemas los flujos de trabajo de paquetes a través de la terminal y las secuencias de comandos.

Esto permite un proceso simplificado de búsqueda e instalación de aplicaciones y paquetes utilizando el administrador de paquetes de Windows.

Fin.


/ Súmate al boletín. No es gran cosa, pero es gratis 👇 /