Como instalar e utilizar o Chocolatey - (Guia para iniciantes)
Tags: productivity, codenewbie, beginners, tutorial
Published: 2021-07-28 03:36:14

O Chocolatey é um framework de automação que nos dá a possibilidade de automatizar diferentes partes do Windows a partir de scripts PowerShell e disponibilizá-los para qualquer pessoa.

Como este é um guia para iniciantes, vamos focar nas funcionalidades e facilidades que o Chocolatey nos confere. Seu principal uso é como um gerenciador de pacotes do Windows. Ou seja, é possível instalar, atualizar, e desinstalar diversos pacotes mantidos pela comunidade, semelhante ao apt-get, só que para o Windows.

Vamos cobrir os seguintes tópicos:

- 1 Instalação do Chocolatey
- 2 Instalando pacotes
  - 2.1 Instalando múltiplos pacotes
- 3 Desinstalando pacotes
- 4 Atualizando pacotes
- 5 Comandos úteis

## 1. Instalação do Chocolatey

Inicialmente você deve abrir o PowerShell como administrador, para que o Chocolatey seja adicionado nas variáveis de ambiente do Windows e possa fazer as alterações necessárias durante a instalação.

Basta buscar no menu iniciar por PowerShell, e selecionar a opção "Abrir como administrador"

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1627335609921/KgES64kjj.png)

No Windows 11 você pode utilizar o PowerShell 7 da mesma forma

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1627335663868/vsR_47M05.png)

Com o PowerShell aberto, você deve garantir que a política *Get-ExecutionPolicy* não esteja restrita. Para verificar isso, rode o comando a seguir:

```powershell
Get-ExecutionPolicy
```

Caso o terminal retorne o valor **Restricted**, a equipe responsável pelo desenvolvimento do Chocolatey sugere utilizar a política *Bypass* para ignorar a política restrita ou a política *AllSigned* para garantir um pouco mais de segurança. Caso o terminal retorne outro valor, você pode prosseguir sem que haja necessidade de mudar a política com o comando `Set-ExecutionPolicy`.

Para alterar a política, rode um dos comandos a seguir:

```powershell
Set-ExecutionPolicy AllSigned
```

ou

```powershell
Set-ExecutionPolicy Bypass -Scope Process
```

Em seguida, basta rodar o comando a seguir para instalar o Chocolatey e aguardar alguns segundos para a que o comando seja concluído.

```powershell
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
```

Se nenhum erro for encontrado, você já pode começar a utilizar o chocolatey! (É recomendável fechar e abrir novamente o PowerShell nesta etapa do processo).

## 2. Instalando pacotes

Para fazer o download de um pacote, antes é necessário saber se a comunidade mantém um pacote na plataforma chocolatey, portanto, basta acessar o site <https://community.chocolatey.org/packages> e procurar pelos pacotes que você deseja.

Vamos por exemplo instalar o editor de texto Notepad++. Ao buscar pelo editor, encontramos um pacote semelhante ao que buscamos.


![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1627341988493/X6RG4d11T.png)

Ao acessar o pacote, podemos verificar que encontramos o editor de texto que estamos buscando. Além disso, o mesmo apresenta um selo de aprovação em seu último deploy pelo histório de versões. Uma característica muito boa!

![image.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1627337136847/UQag6YX55.png)

Basta então rodar o comando mostrado no site no seu terminal PowerShell. Entretanto, ao realizar a instalação de qualquer pacote, lhe serão apresentadas algumas perguntas à respeito das confirmações a respeito da instalação. Em todas elas você deve olhar atentamente o que o pacote quer confirmar.

Você pode confirmar ou rejeitar uma confirmação digitando `y` ou `n` e pressionando enter quando lhe for pedido. No geral basta digitar `y` para tudo 👀, mas cuidado com pacotes sem o selo de verificação!

Tudo pode ficar ainda melhor. Existe um método mais eficiente de aceitar todas as confirmações de uma só vez, basta adicionar um argumento `-y`no final do comando de instalação, desta forma, basta rodar o comando a seguir:

```powershell
choco install notepadplusplus -y
```

O comando geral para instalar pacotes são os seguintes:

```powershell
choco install <pkg|packages.config> [<pkg2> <pkgN>] [<options/switches>]
```

ou

```powershell
cinst <pkg|packages.config> [<pkg2> <pkgN>] [<options/switches>]
```
    
A diferença entre `choco install` e `cinst` é apenas para quem gosta de digitar 8 caracteres a menos haha.

Veja abaixo o comando em ação
![choco_install.gif](https://docs.chocolatey.org/assets/images/gifs/choco_install.gif)

### 2.1. Instalando múltiplos pacotes

Segundo a documentação oficial, para instalar múltiplos pacotes de uma só vez, basta rodar

```powershell
choco install <pkg|packages.config> [<pkg2> <pkgN>] [<options/switches>]
```

ou

```powershell
cinst <pkg|packages.config> [<pkg2> <pkgN>] [<options/switches>]
```

Para exemplificação, caso você deseje instalar o Notepad++ e o navegador Firefox, basta rodar:

```powershell
choco install notepadplusplus firefox
```

Ou ainda, para aceitar todas as confirmações:

```powershell
choco install notepadplusplus firefox -y
```

## 3. Desinstalando pacotes

De maneira intuitiva, para desinstalar um pacote, basta rodar:

```powershell
choco uninstall <pkg|all> [pkg2 pkgN] [options/switches]
```

ou

```powershell
cuninst <pkg|all> [pkg2 pkgN] [options/switches]
```

Para exemplificação, caso você deseje desinstalar o Notepad++, basta rodar:

```powershell
choco uninstall notepadplusplus
```

Veja abaixo o comando em ação

![choco_uninstall.gif](https://docs.chocolatey.org/assets/images/gifs/choco_uninstall.gif)

## 4. Atualizando pacotes

Para atualizar um pacote ou um grupo específico de pacotes basta rodar:

```powershell
choco upgrade <pkg|all> [<pkg2> <pkgN>] [<options/switches>]
```

ou

```powershell
cup <pkg|all> [<pkg2> <pkgN>] [<options/switches>]
```

O comando em ação pode ser visto a seguir:

![choco_upgrade.gif](https://docs.chocolatey.org/assets/images/gifs/choco_upgrade.gif)

Geralmente quando vou atualizar os pacotes, prefiro atualizar todos de uma só vez, para isso basta rodar:

```powershell
choco upgrade all -y
```

## 5. Comandos úteis

Para listar todos os pacotes instalados, basta rodar:

```powershell
choco list -l
```

ou

```powershell
clist -l
```

Para saber informações sobre um pacote específico, basta rodar:

```powershell
choco info [<options/switches>]
```

Por exemplo, para visualizar mais informações a sobre o Google Chrome, basta rodar:

```powershell
choco info googlechrome
```

Você pode encontrar mais comandos na documentação oficial no link a seguir <https://docs.chocolatey.org/en-us/choco/commands/>

Obrigado pela leitura 😄

Créditos: Foto da capa por <a href="https://unsplash.com/@tetiana_bykovets?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Tetiana Bykovets</a> no <a href="https://unsplash.com/?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>