Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Composer install

Bom dia. No minuto 1:35 do vídeo https://cursos.alura.com.br/course/php-composer/task/56138 o professor explica que se um outro desenvolvedor roda o composer install que ele vai verificar se tem um composer.lock se tiver ele instala na versão exata que está no composer.lock, mas se não tiver ele instala a versão mais recente...Eu não entendi porque o composer installele instala só o que tem no composer.lock, caso o composer.lock não exista o certo não seria usar composer update para que aí sim ele verifique outras versões que tem no composer.json? Não entendi muito bem a diferença entre esses 2 arquivos.

2 respostas
solução!

Karolina, sua dúvida ficou um pouco confusa, mas vou tentar responder:

O composer.json possui as informações de quais dependências nosso projeto possui e quais as restrições de versão. Essas restrições podem ter algo como "biblioteca X na versão Y" ou "biblioteca X na versão maior do que Y". Ou seja, é algo amplo.

O composer.lock possui todas as dependências e suas exatas versões. Aqui estão inclusive as dependências de nossas dependências. Ex.: Nosso projeto depende da biblioteca A. Essa biblioteca A depende da biblioteca B. No composer.lock tanto a biblioteca A quanto a B estarão definidas com suas versões exatas.

Ao executar o composer install o composer vai tentar ler o .lock para instalar exatamente as versões que já foram usadas antes no projeto. Caso esse arquivo não exista, ele vai fazer o mesmo que o composer update: Vai analisar as restrições de versões e instalar a mais recente que se adeque a essas restrições.

Agora entendi. Obrigada!