Introdução ao NPM

O que é npm?

O npm é o acrônimo de Node Package Manager (gerenciador de pacotes do node). Ele facilita o compartilhamento de código JavaScript entre desenvolvedores. Códigos esses, que foram criados para resolverem seus próprios problemas e disponibilizados para que outros desenvolvedores os reutilizem em suas próprias aplicações.

Esses códigos reutilizáveis são chamados de pacotes ou às vezes de módulos. Um pacote (package) é somente um diretório com um ou mais arquivos e/ou diretórios. Módulo é uma funcionalidade que pode ser importada, através do “require()” do NodeJS. Existe também um arquivo chamado “package.json” que possui alguns metadados específicos para controlar dependências e versões.
A idéia geral do npm é de que você deve criar pequenos blocos (essas packages) para resolver apenas um problema (o velho jargão do dividir para conquistar) e com isto tornar possível a composição de soluções maiores e customizadas a partir desses pequenos blocos.

Inicialmente o npm era utilizado somente com o NodeJS (daí seu nome) mas hoje em dia é possível encontrar pacotes que podem ser utilizados em frontend, ou seja, em browsers.

 

O que posso fazer com o npm?

Com o npm podemos utilizar alguma funcionalidade disponibilizada por outros desenvolvedores e também podemos compartilhar nossos códigos. É possível acessarmos o site do npm para procurarmos algum pacote e tirar algumas dúvidas desses pacotes. Alguns pacotes são bem conhecidos tais como: Express, Yo, Karma, Coffee-script dentre outros.

 

Instalando o npm

Se você ainda não instalou o NodeJS, aproveite e faça agora mesmo conforme mencionei no post Conhecendo o NodeJS, pois com o NodeJS instalado o npm estará pronto para uso!

 

Utilizando o npm

Para utilizarmos os pacotes do npm, temos duas opções de instalação de pacotes: localmente ou globalmente.

 

Qual a diferença?

Via de regra, quando temos uma dependência dentro de nosso código, devemos utilizar o pacote localmente como por exemplo o Express.
Caso utilizemos o pacote para gerar estruturas de pastas e códigos, levantar testes ou automatizar algumas tarefas com o Grunt devemos optar pela instalação global.

 

Instalando pacotes localmente

Para instalar um pacote localmente invocamos o npm da seguinte forma:


$ npm install <nome_do_pacote>

Simples, não?
O comando acima faz com que o npm entre em contato com o repositório online e baixe, na pasta “node_modules” que será criada se a mesma não existir, o pacote informado.
Porém nesse comando, não informamos ao npm que desejamos atualizar o arquivo “package.json”. Para baixar e automaticamente atualizar esse arquivo, devemos invocar o comando passando a opção de salvar:


$ npm install <nome_do_pacote> --save

 

Atualizando pacotes locais

A atualização dos pacotes é necessária para que tenhamos sempre a última versão dos pacotes e com isso teremos mais chance de obtermos esses pacotes com as últimas correções de bugs e novas funcionalidades.
Para atualizar todos os pacotes contidos no “package.json” basta digitar:


$ npm update

Sempre se lembre que para atualizar também o arquivo “package.json” você deve especificar a opção “–save” caso contrário, somente os programas que foram baixados é que estarão atualizados.
Ou seja, sempre use a opção de atualizar o arquivo “package.json”:


$ npm update --save

Para atualizar um pacote específico, basta informar o nome do pacote a ser atualizado:


$ npm update mongoose --save

Podemos também querer atualizar (ou até mesmo instalar) uma versão específica de um pacote. Nesse caso, devemos informar o nome do pacote seguido da versão desejada e uma arroba “@” entre ambos:


$ npm update mongoose@4.4.4 --save

É importante saber que o comando de atualização não faz downgrade de versão, apenas atualiza para versão superior da atual.

 

Desinstalando pacotes localmente

A remoção ou desinstalação de um pacote do npm é um procedimento simples. Basta digitar:


$ npm uninstall <nome_do_pacote> 

E para removê-lo também do arquivo “package.json”, basta adicionar o mesmo parâmetro que utilizamos anteriormente:


$ npm uninstall <nome_do_pacote> --save

 

Instalando pacotes globais

A instalação de pacotes globais segue a mesma linha da instalação local. A diferença é que no Linux e no OSX, por padrão, você precisa de privilégios administrativos mas é possível configurar para que não isso não seja necessário.
Para instalar um pacote globalmente, apenas informamos a opção “-g” na instalação do pacote:


$ npm install -g <nome_do_pacote>

 

Atualizando pacotes globais

A atualização de pacotes globais segue a mesma linha da atualização local.
Para instalar um pacote globalmente, apenas informamos a opção “-g” na instalação do pacote:


$ npm update -g <nome_do_pacote>

E segue a mesma linha de atualizar para uma versão específica. Basta informar a versão desejada:


$ npm update -g grunt@0.4.4

 

Desinstalando pacotes globais

Para desinstalar um pacote global, também precisamos apenas informar a opção “-g” além da chamada padrão de desinstalação de pacote:


$ npm uninstall -g <nome_do_pacote> 

 
 
 
Espero que o que expliquei aqui tenha acendido a luz da curiosidade em você.
Precisando de ajuda, não hesite em perguntar!

Se houver alguma dúvida, sugestão ou percebeu algum erro de digitação, não hesite em entrar em contato que responderei tão rápido quanto puder e atribuirei o crédito pela ajuda.

Até mais!
André Fellows

Leave a Reply Cancel reply