PARTICIPE DO DESAFIO MAY THE FOURTH



Node e NPM - Instalação, Configuração e Primeiros Passos

Node é um executor de código JavaScript bem popular no mundo da programação. Neste artigo veremos como realizar sua instalação, configuração e primeiros passos.

Índice

Requisitos

Versões do Node

O Node normalmente é disponibilizado em duas versões, a Current que é a versão mais atual e a LTS que é a de suporte de longo tempo.

O LTS significa que esta é a versão mais estável que receberá suporte do time do Node até uma nova versão LTS.

Se você está desenvolvendo algum projeto sério, mais maduro, então pode instalar a versão LTS. Se quer tudo que há de mais novo no Node e está em ambiente de desenvolvimento, pode ir de Current.

Não existe um problema grave em utilizar Current em produção, a recomendação do LTS é apenas por precaução, mas depende das suas necessidades.

As versões do Node tendem a ser retro compatíveis, o que significa que se você instalar a última versão, irá conseguir realizar todos os cursos do site normalmente.

O que não pode acontecer é você ter uma versão ANTERIOR a da apresentada no curso. Uma versão maior não haverá problemas.

Mantenha sempre o Node atualizado, bastando realizar o processo de instalação novamente. Isto evita possíveis vulnerabilidades em seu ambiente.

Instalação no Windows

A instalação do Node no Windows é relativamente simples, basta acessar o site oficial e fazer download do instalador. Até a escrita deste artigo a versão Current do Node é 13.11.0.

Execute o instalador, siga as instruções na tela e pronto, o Node está instalado e adicionado ao PATH do Windows. Feche todos os terminais abertos e você está pronto para prosseguir.

Mudando as políticas do Power Shell

Em alguns casos, durante a execução de comandos NPM no Windows, você poderá receber um erro com a seguinte mensagem: "O arquivo XXXX não pode ser carregado porque a execução de scripts foi desabilitada neste sistema"

Isto ocorre pois as políticas de execução do Power Shell em seu sistema não estão habilitada. Para resolver este problema, feche todos os terminais abertos e abra um novo Power Shell em modo administrador (Clicar com botão direito do mouse sobre o ícone do Power Shell e acessar a opção Executar como Administrador).

Nesta nova janela que se abriu, como administrador, execute o seguinte comando:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

Feche novamente a janela e reabra o Power Shell ou qualquer terminal que esteja utilizando. Desta vez não precisa ser como administrador. O erro deve parar de acontecer.

Instalação no Mac

Embora a instalação do Node no Mac possa ser feita pelo site oficial, recomendamos utilizar o Brew, pela facilidade na instalação e atualização dos pacotes do Node.

Vamos então realizar a instalação do Brew, executando o seguinte comando no Terminal.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

Após o término da instalação, você pode executar o comando abaixo para verificar se tudo está correto.

brew doctor

De tempos em tempos, também é importante atualizar o Brew e suas dependências, então execute o comando abaixo:

brew update

Tudo pronto, neste momento o Brew está devidamente instalado e podemos executar a instalação do Node.

brew install node

Sempre que quiser atualizar a versão instalada do Node, basta executar o comando abaixo.

brew upgrade node

Instalação no Linux

No Linux podemos instalar o Node via apt, mas antes precisamos adicionar seu repositório com CURL.

curl -sL https://deb.nodesource.com/setup\_13.x | sudo -E bash -

Note que adicionamos a versão 13.x do Node, caso haja uma versão superior, você pode alterar este valor. Em seguida vamos instalar o Node.

sudo apt install nodejs

Verificando a versão instalada

Sempre que estiver em dúvidas sobre a versão do Node instalada em sua máquina, você pode executar o comando abaixo em um terminal.

node --version

Instalando pacotes com NPM

O NPM é o gerenciador de pacotes do Node que vem junto em sua instalação. Para verificar a versão do NPM instalada, você pode executar o seguinte comando:

npm --version

O Node apenas executa os scripts, enquanto o NPM é de onde baixamos os pacotes que desejamos utilizar.

Por exemplo, se você precisa redimensionar uma imagem, você pode usar uma biblioteca já pronta, disponibilizada através do NPM.

Isto acontece em outras tecnologias como o Nuget na Microsoft e o Dart Packages no Flutter.

A maior diferença do NPM é que o Node em si não vem com nada "pronto", então quase tudo que utilizamos são pacotes.

Os pacotes da nossa aplicação ficam armazenados na pasta NODE_MODULES, na raiz da mesma.

Podemos instalar os pacotes localmente ou globalmente, sendo que os pacotes globais, ficam disponíveis no terminal.

Iniciando uma aplicação

Para dar início a nossa primeira aplicação, vamos abrir um novo terminal e executar os seguintes comandos:

mkdir nodeapp  
cd nodeapp  
npm init

Ao dar sequência no último comando, você será indagado sobre as informações do App.

Neste momento, não precisa preencher nada, apenas apertar ENTER, mas caso fosse uma aplicação mais séria, seria interessante.

Para pular este processo de perguntas e responder tudo como padrão, execute o comando npm init com a flag -y.

npm init -y

Instalando pacotes locais

Vamos agora abrir nossa aplicação com o Visual Studio Code, e em seguida, abrir um terminal dentro dele.

Neste terminal, vamos executar o comando para instalar um pacote chamado UUID que gera GUIDs.

GUID é a sigla para Globally Unique Identifier, ou seja, ele gera um número único, de 36 caracteres para nós.

npm install uuid

Note que neste momento uma nova pasta chamada NODE_MODULES foi criada, com várias sub-pastas.

Isto ocorre por que o Node em si é apenas um executor, ou seja, todo código das bibliotecas que usamos não está no Node e sim nos pacotes que instalamos.

Você NUNCA deve alterar qualquer arquivo da pasta NODE_MODULES, nem enviar eles para seu repositório (Git/GitHub).

Sempre que você começar a trabalhar com uma aplicação Node já existente, você precisa primeiro baixar seus pacotes.

O Node sabe quais pacotes nossa aplicação precisa, por conta de um arquivo chamado Package.json, que fica na raiz do projeto.

Em adicional, será gerado um arquivo Package-lock.json, contendo apenas as configurações da sua máquina.

Porém, se notarmos o nosso Package.json, não vemos o pacote UUID listado nele, o que é um problema.

Se o Node não traz o pacote e não temos ele definido no Package.json, muito provavelmente, quem baixar nossa aplicação para trabalhar terá um erro.

Lembre-se que NUNCA enviamos a pasta NODE_MODULES para o Git/Git. Ela ficará gigante com o tempo e isto tomaria muito espaço no servidor.

Além do mais, é mais fácil e seguro baixar os pacotes atualizados das fontes de origem (NPM) do que do nosso repositório.

Desta forma, existem duas formas de instalar pacotes pelo NPM, as locais e as globais.

Sempre que utilizamos o npm install, podemos adicionar a flag --save, para forçar o salvamento do ID e versão deste pacote no Package.json.

Neste formato, teríamos algo como o seguinte:

npm install uuid --save

Se executarmos este comando e observarmos o Package.json novamente, veremos que o ID do pacote e sua versão agora foram salvos nas dependências.

As dependências também são sementadas em duas, sendo elas para produção e para desenvolvimento.

No caso do UUID, o pacote é ESSENCIAL para execução da nossa aplicação, então ele é considerado uma dependência.

Sempre que fazemos a publicação das nossas aplicações com Node, também não enviamos a pasta NODE_MODULES.

Apenas com o código, as ferramentas de publicação conseguem ler o arquivo Package.json e executar a instalação das dependências.

Desta forma, tudo que nossa aplicação depende, deve estar na sessão DEPENDENCIES do arquivo Package.json.

Além das dependências, temos as dependências de desenvolvimento, ou DevDependencies.

Estas dependências NÃO SERÃO instaladas quando nossa aplicação for publicada. Elas são apenas a nível de desenvolvimento.

Se você tem alguma operação manual durante o desenvolvimento e quer automatizar isto por exemplo, você utilizaria o devDependencies.

Para instalar um pacote apenas a nível de desenvolvimento, podemos utilizar a flag --save-dev.

npm install NOME_DO_PACOTE --save-dev

Você verá ambas instalações, com --save e --save-dev durante os cursos aqui no balta.io.

Criando nosso App

Vamos agora criar um arquivo chamado index.js na raiz da pasta aberta no Visual Studio Code com o seguinte conteúdo.

const uuid = require('uuid');  
console.log(uuid.v4());

Não vamos nos prender ao JavaScript no momento, mas tudo que estamos fazendo é importando o módulo do UUID e utilizando ele.

Desta forma, abra um terminal e execute o comando:

node index.js

Você deverá ver uma hash parecida com isto na tela.

bde7ebc3-9362-48e6-a001-12753fd9de47

Pronto, este é nosso App, toda vez que chamarmos o arquivo index.js ele gerará uma hash randômica para nós.

Instalando pacotes globais

O Node é amplamente usado no mundo do desenvolvimento e alguns CLIs (Command Line Interfaces -- Interface de Linha de Comando) são desenvolvidos com ele.

Sempre que instalamos algum CLI em nosso sistema, um conjunto de comandos é adicionado ao nosso terminal.

Por exemplo, quando instalamos o CLI do Angular, o comando ng fica disponível no terminal.

Este comando nos permite criar Apps (ng new APP) ou mesmo adicionar funcionalidades a uma aplicação existente (ng add PACOTE).

Porém, se você notar, não conseguimos executar nossa aplicação fora da pasta em que estamos.

Isto deve-se ao fato da nossa aplicação ser local e ter pacotes locais, o que impede a execução dela em qualquer terminal.

Devemos manter os pacotes da nossa aplicação LOCAIS, porém em casos como citado acima, precisamos do comando disponível GLOBALMENTE.

Sempre que precisarmos instalar um pacote global, utilizamos o flag -g, como por exemplo:

npm install @angular/cli -g

Neste exemplo, estamos instalando o CLI do Angular e deixando-o disponível para toda a máquina.

Da mesma forma, você verá bastante este tipo de instalação nos cursos por aqui.

Restaurando os pacotes

Vamos imaginar que você chegou agora na empresa e já existe um projeto, você apenas continuá-lo.

Então você baixou o projeto do GitHub, e como recomendamos, a pasta NODE_MODULES não veio.

O que você precisa, sempre que baixa um fonte, é restaurar seus pacotes utilizando o comando abaixo:

npm install

Desta forma, a pasta NODE_MODULES será baixada e todas as dependências da aplicação serão adicionadas a ela.

Versões dos cursos

Será comum em sua jornada aqui no balta.io, encontrar cursos com versões anteriores de pacotes.

Por exemplo, atualmente temos cursos do recém saído Angular 9, porém alguns cursos ainda são com Angular 6.

Sempre que você iniciar um curso que tenha um Package.json, a melhor coisa a se fazer é copiar a sessão dependencies e devDependencies.

Assim você garante que está utilizando as mesmas versões do curso e não terá problema algum.

Instalando pacotes de versões anteriores

Caso você opte por seguir o curso desde a instalação e não queira copiar as dependências, você pode instalar as mesmas versões utilizando o comando abaixo:

npm install pacote@8.3.25

No setup de todo curso, temos as versões utilizadas, assim como no Package.json dos fontes do curso.

Populares

Priority Queue

Priority Queue ou fila prioritária é um tipo de lista inclusa no C# 10 que permite que seus itens...


Implicit Operators no C#

Implicit Operators permitem adicionar comportamentos de conversão a objetos Built In ou complexos...


ASP.NET 5 – Autenticação e Autorização com Bearer e JWT

Este artigo atualmente utiliza a versão 5.0.0-rc.1 do ASP.NET/.NET, o que significa que ainda não...


Clean Code - Guia e Exemplos

Saiba como manter seu código limpo (Clean Code) seguindo algumas práticas sugeridas pelo Robert C...


Git e GitHub - Instalação, Configuração e Primeiros Passos

Git é um sistema de controle de versões distribuídas, enquanto GitHub é uma plataforma que tem o ...


Compartilhe este artigo



Conheça o autor

Me dedico ao desenvolvimento de software desde 2003, sendo minha maior especialidade o Desenvolvimento Web. Durante esta jornada pude trabalhar presencialmente aqui no Brasil e Estados Unidos, atender remotamente times da ?ndia, Inglaterra e Holanda, receber 8x Microsoft MVP e realizar diversas consultorias em empresas e projetos de todos os tamanhos.





2.651

Aulas disponíveis

249

horas de conteúdo

65.312

Alunos matriculados

46.228

Certificados emitidos





Comece de graça agora mesmo!

Temos mais de 19 cursos totalmente de graça e todos com certificado de conclusão.

Começar


Prefere algo mais Premium?

Conheça nossos planos



Premium semestral

Compra única, parcelada em até
12x no cartão de crédito


12x R$

49

,78

=R$ 597,36
  • 6 meses de acesso
  • Acesso à todo conteúdo
  • Emissão de Certificado
  • Tira Dúvidas Online
  • 59 cursos disponíveis
  • 10 carreiras disponíveis
  • 161 temas de tecnologia
  • Conteúdo novo todo mês
  • Encontros Premium

Começar agora

Política de privacidade

Premium anual

Compra única, parcelada em até
12x no cartão de crédito


12x R$

84

,78

=R$ 1.017,36
  • 1 ano de acesso
  • Acesso à todo conteúdo
  • Emissão de Certificado
  • Tira Dúvidas Online
  • 59 cursos disponíveis
  • 10 carreiras disponíveis
  • 161 temas de tecnologia
  • Conteúdo novo todo mês
  • Encontros Premium

Começar agora

Política de privacidade



Precisa de ajuda?

Dúvidas frequentes



  • Posso começar de graça?

    Sim! Basta criar sua conta gratuita no balta.io e começar seus estudos. Nós contamos com diversos cursos TOTALMENTE gratuitos e com certificado de conclusão.

  • Vou ter que pagar algo?

    Nós temos cursos gratuitos e pagos, porém você não precisa informar nenhum dado de pagamento para começar seus estudos gratuitamente conosco. Os cursos gratuitos são completos e com certificado de conclusão, você não paga nada por eles.

    Porém, caso queira algo mais Premium , você terá acesso à diversos benefícios que vão te ajudar ainda mais em sua carreira.

  • Por onde devo começar?

    Siga SEMPRE as nossas Carreiras , elas vão te orientar em todos os sentidos. Os cursos já estão organizados em categorias e carreiras para facilitar seu aprendizado.
    Nossa sugestão para aprendizado é começar pelo Backend e seguindo para Frontend e Mobile.

    • Backend
    • Frontend
    • Mobile

  • Os cursos ensinam tudo que preciso?

    Nenhum curso no mundo vai te ensinar tudo, desculpa ser sincero! Os cursos são uma base, eles fornecem por volta de 30% do que você precisa aprender, o resto é com você, com dedicação e MUITA prática.

  • O que eu devo estudar?

    Java ou .NET? Angular ou React? Xamarin ou Flutter? A resposta é simples e direta: "Você já sabe o básico?"

    Se você ainda não sabe BEM o básico, ou seja, os fundamentos, OOP, SOLID, Clean Code, está perdendo tempo estudando Frameworks ou até coisas mais avançadas como Docker. Foque nos seus objetivos primeiro.
    Agora se você está indeciso sobre qual Framework estudar, a boa notícia é que o mercado neste momento está bem aquecido e você tem várias oportunidade. Desta forma o que levaríamos em conta para tomar esta decisão seria:

    • Já sei o básico
    • O Framework/Tecnologia tem mercado onde eu estou (região)
    • O Framework/Tecnologia é utilizado em uma empresa onde quero atual
    • O Framework/Tecnologia resolve meu problema
    • Eu gosto de utilizar o Framework/Tecnologia

  • Estou pronto para estudar no balta.io?

    Com certeza! O primeiro passo é começar e você pode fazer isto agora mesmo!

    Começar de graça

Ainda tem dúvidas?





Assine nosso Newsletter

Receba em primeira mão todas as nossas novidades.

Cadastrar


balta.io