Devo fazer commit do ficheiro composer.lock?

Por sandro_admin em

Sim, deve ser feito commit do ficheiro composer.lock juntamente com o ficheiro composer.json e o código fonte.

Sempre que é feita uma instalação, ou uma atualização, através do Composer, o ficheiro composer.lock é criado. Este ficheiro é importante para o Composer saber as versões específicas dos packages que foram instalados. Por exemplo, ao executar o comando composer install, caso o ficheiro composer.lock não exista, o Composer irá descarregar a versão mais recente das dependências e gerar um novo ficheiro composer.lock. Após esta instalação, o mais certo é que as versões dos packages que foram instalados serão diferentes das versões dos packages do resto da equipa. Ao adicionar o composer.lock ao sistema de controlo de versões (ex: git), é assegurado que toda a equipa usa as mesmas versões das dependências.

Se houver a necessidade de atualizar os packages para a última versão, ou se houver uma mudança no ficheiro composer.json, o ficheiro composer.lock deve ser atualizado através do comando composer update.

Outra vantagem em ter o ficheiro composer.lock no repositório é a maior rapidez da instalação de dependências, uma vez que o Composer não necessita de descobrir que versão deve ser instalada.

Com alguma frequência, o ficheiro composer.lock e a pasta vendor/ estão erradamente adicionados no ficheiro  .gitignore. Na verdade, no que respeita ao Composer, apenas a pasta vendor/ deve ser adicionada ao ficheiro  .gitignore.

Referências

Lockhart, J. (2015). Modern PHP. Sebastopol: O’Reilly.

Modess, N. (2016). Deploying PHP Applications.

Škvorc, B. (2015). Jump Start PHP Environment. SitePoint.

Zandstra, M. (2016). PHP Objects, Patterns, and Practice (5ª ed.). Liverpool: Apress.

 

Achou interessante? Siga-me no Twitter.

Categorias: tutoriais

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *