Todos já devem ter usado o npm para instalar alguma dependência em seu projeto frontend, pois ele é o gerenciador de pacotes mais popular no momento. No entanto, ele é a causa de dores de cabeça em muitos desenvolvedores, por causa do conflito de dependências, versão do npm desatualizada, entrave em alguma dependência entre outros problemas.
Pensando nisso, o Yarn é um gerenciador de pacotes mais simples e ágil, que garante um controle maior sobre o que está sendo instalado no projeto.
O que é Yarn?
Yarn é uma alternativa para o gerenciador de pacotes mais clássico que temos. Mas não é só! Ele também é bem mais rápido para uma série de tarefas, pois traz algumas técnicas que não estão presentes no npm, como por exemplo:
- Um cache local guarda a versão exata da dependência. Ou seja, se no futuro você baixá-la novamente, utilizará a versão que está no cache, atualizando apenas se necessário. Atualmente, o npm tem algo semelhante, mas não é tão performático quanto o Yarn
- Coloca as dependências diretamente no package.json, dispensando uma flag (-s por exemplo) para garantir que elas serão escritas corretamente
- Ao instalar as dependências do projeto, ele sempre seguirá uma ordem determinada, fazendo com que todo processo seja bem mais rápido
- Continua utilizando a mesma estrutura já conhecida com o package.json, logo a adaptação é bem tranquila
Com isso em mente, vamos partir para a parte mais legal! Vamos ver na prática como funciona um projeto com Yarn.
Como o Yarn funciona?
Antes de mais nada, é preciso instalar o Yarn na sua máquina. É bem simples, basta usar o seguinte comando:
npm install -g yarn
Agora, se quisermos realmente instalar nossas dependências, precisamos criar o package.json e para isso vamos usar o seguinte comando:
yarn init
Para instalar as dependências em si, use este comando:
yarn add [nome-pacote]
Finalmente, use o seguinte comando para instalar todas as dependências do projeto e criar o node_modules:
yarn install
Pronto! Agora você já sabe o que é o Yarn e como dar os primeiros passos com essa belezinha. Agora você já pode analisar qual vale mais a pena e qual vai usar em seus futuros projetos.
Bons estudos!