Os gerenciadores de pacotes são ferramentas que auxiliam a criação de aplicações web por meio da instalação de pacotes de forma automática. Existem diferentes alternativas disponíveis no mercado que desenvolvem essa tarefa, uma delas é o Yarn.

Basicamente, ele é um poderoso gerenciador de pacotes para JavaScript desenvolvido pelo Facebook com a ajuda das empresas Exponent, Google e Tilde, e disponibilizado em código aberto desde 2016. O Yarn foi criado para suprir a necessidade de oferecer mais velocidade, estabilidade e segurança na construção de aplicações web.

Um dos dilemas das pessoas que desenvolvem aplicações é a dúvida sobre qual ferramenta de gerenciamento de pacotes deve utilizar, já que existem diferentes e boas opções gratuitas, como o NPM do Node.js. Afinal, Yarn vs NPM não deixam de ser grandes concorrentes. Entretanto, é preciso conhecer as características dessas ferramentas para escolher a alternativa que ofereça melhores recursos.

Para ajudar você a conhecer um pouco mais sobre o Yarn package, fizemos este conteúdo que conta com os seguintes tópicos:

  • O que é e para que serve o Yarn?
  • Como é a arquitetura do Yarn?
  • Quais as vantagens de usar o Yarn?
  • Como instalar o Yarn?
  • Como utilizar o Yarn, na prática?

Boa leitura!

O que é e para que serve o Yarn?

Em uma aplicação web é comum adicionarmos diferentes ferramentas e frameworks no projeto para atribuir funcionalidades e evitar o desenvolvimento de recursos que já existem e que podem ser reaproveitados, como o Bootstrap, React, Angular e muitos outros. Invariavelmente, quando uma aplicação utiliza recursos externos significa que ela contém dependências que precisam ser referenciadas na aplicação.

Existem diferentes formas de adicionar esses recursos, uma delas é fazer o download e a instalação manual dos códigos. Essa forma, entretanto, além de mais trabalhosa pode gerar falhas no funcionamento da aplicação e dificuldade de manutenção.

Basicamente, a função dos gerenciadores de pacotes, como o Yarn, é permitir a instalação desses recursos no projeto de forma rápida e segura. Isso é feito por meio de instruções em linha de comando.

Assim, sempre que um recurso é adicionado, ele baixa os códigos necessários de um repositório e os adiciona ao projeto, além de adicionar as referências necessárias, caso o pacote precise de outras bibliotecas como dependência para funcionar corretamente.

O Yarn, portanto, é um gerenciador de pacotes que faz a instalação, alteração e exclusão de recursos em aplicações web. Trata-se de uma ferramenta de código aberto, que surgiu para suprir algumas necessidades que o seu principal concorrente, o NPM apresenta, entre elas a lentidão e a impossibilidade de instalar pacotes de forma offline.

Como é a arquitetura do Yarn?

Em gerenciadores de pacotes como o Node, as dependências de um projeto são adicionadas em uma pasta chamada node_modules e relacionadas em um arquivo no formato JSON, chamado package.json. Assim, sempre que um novo pacote precisar ser instalado, atualizado ou removido, esses elementos são atualizados.

O Yarn também executa essas ações, embora na versão 2.x, os pacotes sejam instalados na pasta .yarn e não na node_modules como na versão 1.x. Além disso, ele contém um arquivo chamado yarn.lock, que armazena a versão de cada pacote utilizado na aplicação.

É essa característica que confere a ele a informação necessária para que a aplicação seja sempre a mesma, seja qual for o local em que ela estiver instalada. Outra particularidade de sua arquitetura é a forma de instalação dos pacotes, que é feita em três etapas distintas:

  • resolução: em que o Yarn executa buscas nos registros para verificar as dependências existentes;
  • pesquisa no cache: o Yarn procura pelas dependências necessárias no cache para verificar se elas já foram baixadas. Caso não existam, elas são baixadas primeiramente para o cache;
  • instalação: por fim, as dependências são instaladas na pasta node_modules ou .yarn, de acordo com versão, e atualizadas nos arquivos de controle do Yarn.

Quais as vantagens de usar o Yarn?

Existem muitos benefícios em utilizar o Yarn como gerenciador de pacotes. Confira, a seguir, as principais características dessa ferramenta.

Modo offline

O gerenciador contém um recurso de cache, ou seja, quando um pacote é baixado pela primeira vez, fica armazenado em cache. Isso permite que se houver a necessidade de reinstalar esse mesmo pacote, ele fará primeiro a avaliação nesse espaço para conferir se o pacote já existe. Caso ele seja encontrado, não é preciso realizar um novo download.

Vale ressaltar que o Yarn define um local de cache padrão de acordo com a pasta raiz do projeto. Entretanto, é uma opção configurável e pode ser alterada conforme a necessidade. Outra característica desse recurso é que ele pode ser desabilitado, limpo e, até mesmo, compartilhado.

Gerenciador de pacotes determinísticos

Outro benefício do Yarn é ser um gerenciador de pacotes determinísticos. Na prática, sempre que um novo projeto é criado, ele contém um arquivo de configuração que armazena todas as dependências do projeto com suas respectivas versões.

Essa característica permite que uma mesma aplicação contenha todas as dependências em qualquer ambiente em que for instalada. Trata-se de uma funcionalidade que ajuda a evitar situações em que um projeto só funciona em uma máquina específica.

Desempenho da rede

Existem projetos que utilizam muitas dependências. Portanto, ao fazer a solicitação ao repositório para a instalação ou a manutenção dessas dependências pode ocorrer uma certa lentidão para o descarregamento dos arquivos necessários. O Yarn faz o enfileiramento das solicitações de forma eficiente com o objetivo de evitar a sobrecarga da rede.

Resiliência da rede

Como mencionamos, existem aplicações que utilizam inúmeros pacotes de dependências. Entretanto, podem ocorrer falhas de comunicação durante a instalação desses arquivos, o que causaria problemas na aplicação.

Uma das funcionalidades do Yarn é repetir a solicitação em caso de falha. Vale dizer que essa repetição é feita apenas para os casos que não foram concluídos com sucesso, o que evita o processamento duplicado das requisições.

Modo plano

Existem muitos pacotes que utilizam outras bibliotecas como dependência. Portanto, ao baixar recursos que utilizam a mesma dependência, alguns gerenciadores de pacotes normalmente criam versões duplicadas do mesmo conteúdo.

O Yarn oferece um recurso chamado flat mode que elimina essa duplicidade, pois permite a instalação de todas as dependências com uma única versão para cada pacote.

Como instalar o Yarn?

A instalação do Yarn pode ser feita de forma bem simples por meio de outro gerenciador de pacotes, como o NPM, Scoop, Chocolatey, entre outros. Além disso, o Yarn download pode ser feito no site oficial da ferramenta. Para executar o Yarn install pelo NPM, por exemplo, basta escrever o comando a seguir:

npm install -g yarn


Vale dizer que existem versões para diferentes plataformas, como Windows, macOS, além de diferentes distribuições do Linux.

Como utilizar o Yarn na prática?

A utilização do Yarn é bem semelhante à de outros gerenciadores de pacotes. Confira, a seguir, como executar as principais tarefas em um projeto.

Inicializando o Yarn

Para utilizar o Yarn em um projeto é preciso fazer a sua inicialização. Para isso, acesse a pasta em que a aplicação será criada e digite o seguinte comando:

yarn init

Será exibido uma série de questões para a criação do projeto:

  • name;
  • version;          
  • description;
  • entry point (index.js);
  • repository URL;
  • author;
  • license (MIT);
  • private.

Ao final do processo será gerado o arquivo package.json com os dados informados nessas questões. Confira o código:

{
  "name": "projetoYarn",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT"
}


É importante dizer que o Yarn instalado é referente a versão 1.x. Entretanto, ele já está na versão 2.x, chamada Berry, que tem o processo de instalação um pouco diferente, pois ela é feita por projeto. Portanto, para utilizar essa versão é preciso adicionar uma etapa com o seguinte código:

yarn policies set-version berry 
yarn set version berry        


Para conferir se a versão foi atualizada, basta digitar o seguinte código no terminal.

yarn --version 


Adicionando dependências

Com o projeto criado é hora de adicionar as dependências, que são as bibliotecas e frameworks que serão utilizados no projeto. O Yarn disponibiliza os mesmos pacotes que outros gerenciadores disponíveis no mercado, como o NPM. Para adicionar um recurso, basta informar uma das opções a seguir:

yarn add [nome_do_pacote]
yarn add bootstrap //exemplo


Nesse caso, será adicionada a última versão do pacote.

yarn add [nome_do_pacote]@[versão]
yarn add [email protected] // exemplo


Nesse caso, será adicionada a versão indicada no comando.

yarn add[nome_do_pacote]@[tag]
yarn add [email protected] // exemplo


Instalando dependências

O Yarn permite fazer a instalação das dependências a partir do arquivo package.json, isto é, ele verifica as dependências relacionadas e realiza a instalação se for preciso. Existem duas formas de fazer isso, que é com os seguintes comandos:

yarn 
// ou
yarn install.


Fazendo updates

Os pacotes adicionados também podem ser atualizados. É possível atualizar várias dependências ao mesmo tempo ou indicar um pacote específico. Confira a sintaxe, a seguir:

yarn upgrade [nome_do_pacote] // versão 1.x
yarn up [nome_do_pacote] // versão 2.x


É importante dizer que na versão 2.x o comando upgrade foi substituído por apenas up. Assim como no comando para adicionar pacotes, o Yarn update também pode ser feito com a indicação de uma tag ou com a indicação da versão desejada.

yarn upgrade [nome_do_pacote]@[versão] // versão 1.x
yarn up [nome_do_pacote]@[versão] // versão 2.x
yarn upgrade [nome_do_pacote]@[tag] // versão 1.x
yarn up [nome_do_pacote]@[tag] // versão 2.x


Removendo dependências

Outra funcionalidade importante no Yarn é a remoção de dependências, caso determinado pacote não seja mais utilizado pela aplicação. Essa tarefa é feita por meio do comando Yarn remove, que além de excluir o pacote, fará a atualização nos arquivos de configuração package.json e yarn.lock. Veja qual é a sintaxe do comando:

yarn remove [nome_do_pacote]


Como você pôde acompanhar, o Yarn é um poderoso gerenciador de pacotes, criado para oferecer mais velocidade e segurança na manipulação de dependências em uma aplicação web. Ele conta com recursos essenciais, como o modo offline, além de outras funcionalidades que facilitam o controle de bibliotecas e frameworks de forma simples e eficiente.

Gostou do nosso conteúdo sobre o que é Yarn? Então, confira este post sobre IDE e saiba o que é um ambiente de desenvolvimento integrado!

0 Shares:
Você também pode gostar