NPM e YARN: Quem são esses caras ?

Fala galera, como vocês estão ?
Nesse artigo vamos conhecer o gerenciadores npm (node package manager) e yarn. Entender qual a diferença, seus objetivos, quando utilizar e saber se precisamos utilizar todos juntos ou não. Bora lá ?

Quem são esses caras ?

Npm e yarn são ferramentas que auxiliam o desenvolvimento de aplicações JavaScript. Nesse caso temos duas ferramentas com o mesmo propósito. Tanto o npm quando o yarn são gerenciadores de pacotes.



Mas o que é gerenciador de pacotes e o que é um pacote ?

Certo, vamos por partes. A seguir veremos isso com mais detalhes e com exemplos práticos.

Gerenciadores de pacotes

Os gerenciadores de pacotes permitem instalar/atualizar/remover pacotes que são frameworks ou bibliotecas para serem utilizadas nos seus projetos.

Por exemplo, com npm ou yarn você pode instalar a biblioteca lodash que contém vários métodos prontos para serem utilizados. Na documentação temos a seguinte definição: Lodash é uma Uma biblioteca de utilitários JavaScript moderna que oferece modularidade, desempenho e extras.

Vamos para um exemplo prático com lodash para entender para que serve uma biblioteca e como utilizar o npm.

Atenção: Para o exemplo precisamos que o Node.Js e o npm estejam instalados. Execute node -v e npm -v no seu terminal, caso a versão do node e npm apareçam, então eles estão instalados. Caso não tenho instalado leia o artigo Hello World: Nodejs que apresenta a instalação dessas ferramentas.

No artigo Hello World: Nodejs criamos um código JavaScript que soma dois números, veja o código:

  console.log("Somando dois valores\n")
  // Variável que define o primeiro número
  var primeiro_valor = 4;
  // Variável que define o segundo número
  var segundo_valor = 10;

  // O resultado da soma dos números das variáveis primeiro_valor e segundo_valor
  // é registrada na variável soma
  var soma = primeiro_valor + segundo_valor

  // Apresentando os resultados
  console.log(`A soma de ${primeiro_valor} mais ${segundo_valor} é igual a ${soma}\n`)



Nesse caso, na linha var soma = primeiro_valor + segundo_valor temos a parte lógica que soma os dois números sendo eles o número 4 registrado na variável primeiro_valor e 10 registrado na variável segundo_valor.

Vamos testar, crie o arquivo teste_soma.js escreva o código acima nesse arquivo e execute com node teste_soma.js no seu terminal.

Com isso, você terá a seguinte saída:

drawing Resultado da execução

Agora imagina que queremos continuar somando dois números mas não queremos fazer isso "na mão". Para isso vamos utilizar o npm para instalar a biblioteca lodash.

Os passos são:

  • Instale a biblioteca executando npm install lodash no seu terminal e aguarde a instalação;

    Atenção: Observe que com a instalação da biblioteca será criado um arquivo package.json. Para entender seu objetivo acesse o link da documentação
  • Após a instalação adicione a linha var lodash = require("lodash") no inicio do arquivo para importar a biblioteca lodash;
  • Altere a linha var soma = primeiro_valor + segundo_valor para var soma = lodash.add(primeiro_valor, segundo_valor).

Com essas alterações o seu código vai ficar assim:

  var lodash = require("lodash")
  console.log("Somando dois valores\n")
  // Variável que define o primeiro número
  var primeiro_valor = 4;
  // Variável que define o segundo número
  var segundo_valor = 10;

  // Utilizando o método add da biblioteca lodash para somar os números
  var soma = lodash.add(primeiro_valor, segundo_valor)

  // Apresentando os resultados
  console.log(`A soma de ${primeiro_valor} mais ${segundo_valor} é igual a ${soma}\n`)

Agora basta executar o código novamente com node teste_soma.js e o resultado vai aparecer.

Executou ?? Se sim, você pode observar que o resultado é exatamente o mesmo e é isso que deve acontecer pois estamos utilizando um método add da biblioteca lodash para resolver a soma de dois números.

drawing Resultado da execução

Com isso, temos um bom exemplo de como utilizar o npm para instalar bibliotecas que auxiliem durante a construção do código e ajudem a resolver problemas. :)

Apesar de ter sido um exemplo simples, imagine que existem várias bibliotecas que você pode utilizar para resolver problemas mais complexos. Além disso, o próprio lodash tem outros métodos que você pode utilizar, por exemplo:

  • Divida dois números com o método lodash.divide(<dividend>, <divisor>): documentação

    lodash.divide(6, 4);
    // => 1.5
  • Multiplique dois números com o método lodash.multiply(<multiplier>, <multiplicand>): documentação

    lodash.multiply(6, 4);
    // resultado => 24

Acesse a documentação do lodash e veja os métodos disponiveis para serem utilizados: link da documentação

E o yarn ?

Achou que eu esqueci de falar do yarn ??

Assim como falei no início o yarn também é um gerenciador de pacotes. Foi criado pelo Facebook em 2016 com o propósito de ser mais rápido e mais seguro que o npm.

Diferente do npm o yarn não vem junto com a instalação do Node.Js. Para utilizar o yarn você precisa instalá-lo:

  # Comando para instalar o yarn
  npm install --global yarn
  # Comando para verificar se o yarn está instalado
  yarn --version



Com o yarn instalado todos os testes que fizemos com o lodash e npm pode ser feito com o lodash e yarn.

Que tal você fazer esses testes com yarn ?

Uma dica: Crie um novo arquivo teste_soma_2.js e refaça o processo utilizando yarn add ... no lugar de npm install... e veja o que acontece.

Links



Até a próxima... :D