Gerenciador de pacotes do Windows - Winget-Cli
Tags: braziliandevs, windows, powershell, beginners
Published: 2022-10-05 04:40:43

**Requisito:  Windows 10 1709 (build 16299) ou superior**

[Winget-cli](https://github.com/microsoft/winget-cli/) é a mais recente ferramenta Open Source de gerenciamento de pacotes nativos no Windows, possibilitando pesquisar, instalar, remover e atualizar aplicações tudo via CLI.

Certifique-se que tenha a última versão do [Instalador de Aplicativo - Microsoft Store] (https://apps.microsoft.com/store/detail/instalador-de-aplicativo/9NBLGGH4NNS1?hl=pt-br&gl=br)

Abra seu terminal como administrador com o atalho `Windows` + `X` ou usando click direito do mouse no menu iniciar > Terminal (Administrador).


![abrindo terminal](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/475vsxgav70pnbn2ys0c.png)

Existem 3 comandos básicos que podemos usar com frequência.

## Winget search - Pesquisando um pacote

Podemos utilizar o `winget search` para buscar pacotes no repositório em conjunto com o parâmetro `--name='NomeAqui'`, na imagem abaixo estamos procurando pelo Visual Studio Code, ele retorna 4 resultados de 2 fontes diferentes.

![Origem do pacote] (https://dev-to-uploads.s3.amazonaws.com/uploads/articles/awxib83lhswqezkrugdn.png)

**msstore**: a origem de instalação será a própria loja do Windows, a Microsoft Store.

**winget**: repositório winget - ativado por padrão

![Retorno do winget search --name='visual studio code'] (https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2ocaoov4flmfapwo49p0.png)

Podemos utilizar as informações 'Nome' e 'ID' retornados na tela para apontar no comando de instalação que vamos ver a seguir.

## winget install - Instalando um pacote

Para apontarmos um pacote e realizar a instalação, podemos utilizar o winget install em conjunto com o parâmetro `--id=<idDoPacote>` ou `--name=<NomePacote>`. 
Um exemplo abaixo pesquisando com `--name=` e instalando com `--id=` que é como eu prefiro fazer. No exemplo vou pesquisar e instalar o Winrar.

![Instalando o Winrar via winget](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/41h8xcp11nw5ehrzkzzh.gif)

## winget update/ upgrade - Checando atualizações

Podemos verificar as atualizações disponíveis com `winget update` e realizar a instalação individual passando o ID individual de cada um, se preferir pode instalar todas disponíveis com `winget upgrade --all`

![winget upgrade](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0l326scph08kqe4oqwoy.gif)

Há diversos outros parâmetros que você pode utilizar de acordo com a sua necessidade.

<div class="has-inner-focus"><table aria-label="Comandos" class="table table-sm">
<thead>
<tr>
<th>Comando</th>
<th>Descrição</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="info" data-linktype="relative-path">info</a></td>
<td>Exibe metadados sobre o sistema (números de versão, arquitetura, local do log etc.). Útil para solução de problemas.</td>
</tr>
<tr>
<td><a href="install" data-linktype="relative-path">install</a></td>
<td>Instala o aplicativo especificado.</td>
</tr>
<tr>
<td><a href="show" data-linktype="relative-path">show</a></td>
<td>Exibe os detalhes do aplicativo especificado.</td>
</tr>
<tr>
<td><a href="source" data-linktype="relative-path">source</a></td>
<td>Adiciona, remove e atualiza os repositórios do Gerenciador de Pacotes do Windows acessados pela ferramenta <strong>winget</strong>.</td>
</tr>
<tr>
<td><a href="search" data-linktype="relative-path">search</a></td>
<td>Pesquisa um aplicativo.</td>
</tr>
<tr>
<td><a href="list" data-linktype="relative-path">list</a></td>
<td>Exibir os pacotes instalados.</td>
</tr>
<tr>
<td><a href="upgrade" data-linktype="relative-path">upgrade</a></td>
<td>Atualiza o pacote determinado.</td>
</tr>
<tr>
<td><a href="uninstall" data-linktype="relative-path">uninstall</a></td>
<td>Desinstala o pacote determinado.</td>
</tr>
<tr>
<td><a href="hash" data-linktype="relative-path">hash</a></td>
<td>Gera o hash SHA256 para o instalador.</td>
</tr>
<tr>
<td><a href="validate" data-linktype="relative-path">validate</a></td>
<td>Valida um arquivo de manifesto para envio ao repositório do Gerenciador de Pacotes do Windows.</td>
</tr>
<tr>
<td><a href="settings" data-linktype="relative-path">configurações</a></td>
<td>Abrir as configurações.</td>
</tr>
<tr>
<td><a href="features" data-linktype="relative-path">recursos</a></td>
<td>Mostra o status dos recursos experimentais.</td>
</tr>
<tr>
<td><a href="export" data-linktype="relative-path">export</a></td>
<td>Exporta uma lista dos pacotes instalados.</td>
</tr>
<tr>
<td><a href="import" data-linktype="relative-path">import</a></td>
<td>Instala todos os pacotes em um arquivo.</td>
</tr>
</tbody>
</table></div>


## Bônus

Tem um site chamado **[winstall](https://winstall.app/)** que é bem interessante, onde podemos pesquisar e selecionar mútiplos pacotes para fazer a instalação através de um scrip que é gerado baseado nas suas seleções, eu utilizo bastante para subir meu ambiente quando realizo alguma manutenção que eu precise reinstalar tudo na minha máquina do Zero, economiza bastante tempo que eu gastaria baixando um a um, ou até mesmo realizar o processo de instalar um Chocolatey por exemplo.

![winstall site](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bqmye21oyvk12n46vmlb.png)

E ai, gostou da dica? Me conte aqui nos comentários. Curta e compartilha para atingir mais gente :D me ajuda bastante!

> Repositório: [winget-cli](https://github.com/microsoft/winget-cli/)

> Documentação: [winget docs - Microsoft Learn](https://learn.microsoft.com/pt-br/windows/package-manager/winget/)