Composer: Install, Require, Update, Remove
Tags: php, composer, braziliandevs
Published: 2023-10-05 07:58:17

Composer é um gerenciador de dependências em nível de aplicativo para a linguagem de programação PHP que fornece um formato padrão para gerenciar dependências de software PHP e bibliotecas necessárias.

## Instalar o Composer

**Sistema de instalação do composer será o linux.**

Siga as instruções para instalar o composer:

- **Baixe o Composer usando o seguinte comando:**

```
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
```

- **Verifique a assinatura do instalador (SHA-384) para garantir que o arquivo de instalação não está corrompido:**

```
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
```

A longa série de caracteres no comando acima (**e21205b…**) é a assinatura do instalador. Ela muda toda vez que uma nova versão do Composer é lançada, não se esqueça de buscar o SHA-384 mais recente [aqui](https://composer.github.io/pubkeys.html)

- **Instalando Composer:**

**Local**

```
php composer-setup.php
```

**Global**

```
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
```

- **Remova o instalador, apos termino:**

```
php -r "unlink('composer-setup.php');"
```

- **Teste a instação do Composer:**

```
composer
```
O seguinte resultado será mostrado:

```
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 2.6.4 2023-09-29 10:54:46
```

## Composer Require

O comando require adiciona novos pacotes ao arquivo compositor.json do diretório atual. Se não existir nenhum arquivo, um será criado instantaneamente.

```
composer require [pacote]
```

Isso fará o Composer:

- Criar um arquivo composer.json, onde ficarão os nomes dos pacotes que estamos usando;
- Criar um arquivo composer.lock com as versões de todas as dependências encontradas pelo Composer;
- Criar a pasta vendor, onde os pacotes ficarão de fato.

## Composer Install

O comando install lê o arquivo composer.json do diretório atual, resolve as dependências e as instala no vendor.

```
composer install
```

- Se houver um arquivo composer.lock no diretório atual, ele usará as versões exatas de lá em vez de resolvê-las. Isso garante que todos que usam a biblioteca obtenham as mesmas versões das dependências.
- Se não houver arquivo composer.lock, o Composer criará um após a resolução da dependência.

## Composer Update

Para obter as versões mais recentes das dependências e atualizar o arquivo composer.lock, você deve usar o comando update.

```
composer update
```

- Isso resolverá todas as dependências do projeto e gravará as versões exatas no composer.lock.

Se você deseja atualizar apenas alguns pacotes e não todos, você pode listá-los assim:

```
composer update [pacote1] [pacote2]
```

## Composer Remove

O comando remove elimina pacotes do arquivo compositor.json do diretório atual

```
composer remove [pacote1] [pacote2]
```

- Após a remoção dos requisitos, os requisitos modificados serão desinstalados.