Como adicionar o Composer na variável PATH?
O comando composer global require
tem como finalidade instalar os vendor binaries. Podemos usar esse comando para instalar algum utilitário da linha de comando, para auxiliar na produtividade.
Porém, as vezes, a execução dos mesmos pode falhar. Por exemplo, ao tentar rodar o comando laravel
, que é fornecido por composer global require laravel/installer
, você pode receber o seguinte erro:
laravel: comando não encontrado
O que causa o problema?
No Linux, quando você digita um comando na linha de comando, basicamente o Shell tentará rodar um executável com o nome fornecido. O Shell procura por esses executáveis em todas os diretórios, que estão definidos na variável $PATH
. A variável $PATH
possui algumas pastas, como /usr/local/bin
ou /usr/bin
, definidas por padrão. Elas estão separadas por :
.
Se você não sabe como a variável $PATH
funciona, recomendo a leitura de como configurar a variável PATH.
Sendo assim, se você deseja tornar os executáveis instalados via composer global require
disponíveis no seu Terminal, você precisa adicionar o diretório onde o Composer instala os executáveis na variável $PATH
.
Onde o Composer armazena os executáveis quando usamos "composer global require"?
Para descobrir o local onde o Composer instala os executáveis (vendor binaries), basta rodar o comando abaixo:
composer global config bin-dir --absolute --quiet
Esse comando vai retornar o caminho absoluto onde os vendor binaries são armazenados. O retorno poderá ser com isso:
/home/seu_usuario/.config/composer/vendor/bin
Adicionando o Composer ao $PATH
Edite o arquivo chamado .bashrc
. Ele fica dentro da pasta /home/seu_usuario
, mas pode ser acessado adicionando apenas o ~
antes.
Assim:
nano ~/.bashrc
Adicione ao final a seguinte linha:
export PATH=$PATH:/home/seu_usuario/.config/composer/vendor/bin
Ou, se preferir:
export PATH=$PATH:~/.config/composer/vendor/bin
Após fazer isso, basta apenas rodar o comando source ~/.bashrc
e conferir se os executáveis estão disponíveis no terminal.