O que é NPM e como usar uma biblioteca instalada por ele \| TreinaWeb               Promoção no ar   Matricule-se agora e garanta **54% de desconto**  

  Termina em   Tempo restante da oferta: 04 Horas 

 22 Min 

 48 Seg 

   Tempo restante da oferta: 04 22 48 

  [Assinar →](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26) 

   [                ](https://www.treinaweb.com.br)  Explorar  

 [ Quanto custa? ](#assinatura) [ FAQ ](https://www.treinaweb.com.br#faq) [Matricule-se](#assinatura) [ Entrar ](https://www.treinaweb.com.br/login) 

     [ Início ](https://www.treinaweb.com.br) [ Artigos ](https://www.treinaweb.com.br/blog) O que é NPM e como usar uma biblioteca instalada por ele  [ Desenvolvimento ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento) [ Node ](https://www.treinaweb.com.br/blog/categoria/node-js) 

# O que é NPM e como usar uma biblioteca instalada por ele

 Saiba o que é o NPM (Node Package Manager), como utilizar um pacote, framework ou biblioteca instalada por ele e sobre o package.json.

 [ Wesley Gado ](https://www.treinaweb.com.br/blog/autor/wesley-gado) 6 anos atrás

  ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/04/23151507/TRUQUES-NPM.png)  

## O que é NPM?

O NPM (node package manager) é o gerenciador de pacotes do [node.js](https://www.treinaweb.com.br/blog/node-js-por-que-voce-deve-conhecer-essa-tecnologia/) (runtime de javascript que permite utilizar a linguagem no back-end).

Em primeiro lugar, com o NPM você pode gerenciar dependências do seu projeto, acessar o repositório do NPM e ter acesso a inúmeras bibliotecas e frameworks JavaScript, permite a instalação/desinstalação dos mesmos assim como a criação de seus próprios módulos públicos ou privados.

Outro ponto importante do NPM é sobre o gerenciamento das versões das dependências de nossos projetos. Por exemplo, se em um projeto você está utilizando jQuery e o Bootstrap, antes era necessário baixar e atualizar manualmente cada biblioteca.

Sobretudo, o NPM cria o arquivo package.json, um arquivo que salva essas dependências e que, com um comando, mantém nossas bibliotecas atualizadas e, em novas instalações de nosso projeto por outros desenvolvedores, logo, com um comando elas serão baixadas e incorporadas sem a necessidade de todo o trabalho manual.

[  ![Node.js - Fundamentos](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/node-js.svg)   Curso Node.js - Fundamentos Conhecer o curso ](https://www.treinaweb.com.br/curso/nodejs-fundamentos)

## Como instalar o NPM - Node.js

Primeiramente, o NPM está incluso junto ao node.js, para instalar basta seguir os seguintes passos:

- Acessar o site oficial do node.js - [https://nodejs.org](https://nodejs.org/en/download/)
- Conforme a imagem abaixo, o site já reconheceu o sistema operacional (Windows, neste caso) e sugeriu o download de duas versões, LTS e Current. Priorize o download das versões LTS, que são as versões mais estáveis com maior suporte.

![home do nodejs.org](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/04/instalacao-npm.png)

- No linux, você pode instalar pelo gerenciador de pacotes wget, basta abrir o terminal e executar:

```
 wget -qO- https://deb.nodesource.com/setup_4.x | sudo bash -

```

- Logo em seguida:

```
sudo apt-get install --yes nodejs

```

- Para o macOS, você pode baixar o “macOS installer”. O instalador é um arquivo .pkg que você pode executar do Finder. Ao final da instalação ele irá informar sobre os dois binários instalados (node e npm).

![instalação npm versão macOS](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/04/instalacao-npm-1.png)

Após a instalação do Node.js, você pode verificar tanto a versão do Node.js quanto a versão do NPM que foram instaladas executando os seguintes comandos: `node -v` e `npm -v`.

![comandos para saber a versão](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/04/versao-node-npm.png)

De antemão, o NPM também é um pacote Node.js, ou seja, podemos atualizar a versão do NPM utilizando ele mesmo executando o comando: `npm install npm@latest -g`.

## Como instalar um pacote no NPM

Agora para instalar um pacote no seu projeto utilizando o NPM é muito simples. Basta executar o seguinte comando no terminal (dentro do diretório do seu projeto): `npm install [nome do pacote]`.

Por exemplo, eu criei o diretório npm na minha área de trabalho e instalei o pacote html-pdf (pacote este que nos auxilia a criar um conversor de html para pdf) executando o comando: `npm install html-pdf`.

A estrutura de arquivos ficou da seguinte forma:

![Estrutura do projeto](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/04/estrutura-pastas.png)

Como resultado, o NPM criou a pasta node\_modules dentro da nossa pasta NPM, e dentro de node\_modules temos uma pasta relacionada ao pacote html-pdf.

Também existe a opção de instalar um pacote global, ou seja, é possível acessar o pacote de qualquer diretório. Logo, basta instalar um pacote da seguinte maneira: `npm install -g [pacote]`.

Afinal, é interessante instalar globalmente pacotes que sejam utilizados com frequência, assim você pode apenas executar os comandos necessários no terminal independente de qual diretório esteja. Como o pacote http-server, para subir servidores e testar suas aplicações.

[  ![JavaScript - Fundamentos](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/javascript.svg)   Curso JavaScript - Fundamentos Conhecer o curso ](https://www.treinaweb.com.br/curso/javascript-fundamentos)

## Como usar um pacote do NPM

Para utilizar o pacote em nosso projeto, é necessário importar o pacote no arquivo .js onde vamos trabalhar com o mesmo, adicionando uma linha de código seguindo a seguinte estrutura:

```jsx
import * as pdf from 'html-pdf'; //import no padrão do ECMAScript2015
//outros imports

//código da aplicação

```

Desta forma a aplicação estará apta a utilizar o pacote externo instalado pelo NPM.

Você pode buscar por pacotes no próprio site do npm, acessando o [https://npmjs.com/](https://www.npmjs.com/).

## Arquivo package.json

Ao instalar pacotes em nossas aplicações eles devem ficar listados de alguma forma, para que outros desenvolvedores consigam efetuar novas instalações e/ou possam fazer novas alterações/atualizações. Para isso existe o arquivo package.json

Para criar o arquivo package.json é necessário utilizar o seguinte comando dentro do diretório da sua aplicação: `npm init.`

Agora, ao executar este comando, surgirá uma série de perguntas referentes à sua aplicação, como a imagem abaixo:

![Criaçãod do arquivo package.json](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/04/npm-init.png)

Você deve responder as questões e confirmar se tudo está ok, logo em seguida o arquivo package.json será criado. Com isso, teremos algo similar ao código:

```json
{
  "name": "pdfgenerator", //nome da aplicação
  "version": "1.0.0", //versão
  "description": "", //descrição
  "main": "app.js", //arquivo principal
  "type":"module", //padrão de importação dos modulos -> CommonJS ou ES6 (ECMAScript2015)
  "dependencies": { //pacotes que a aplicação irá utilizar e a versão do pacote
    "html-pdf": "^2.2.0"
  },
  "devDependencies": {}, //pacotes que são utilizadas somente
												//no ambiente de desenvolvimento

"scripts": {          //scripts para automatizar comandos
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "", //Autor
  "license": "ISC" //tipo de licença
}

```

[  ![Desenvolvedor JavaScript](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/javascript.svg)   Formação Desenvolvedor JavaScript Conhecer a formação ](https://www.treinaweb.com.br/formacao/desenvolvedor-javascript)

Desta forma eliminamos a necessidade de instalar cada pacote manualmente, sendo possível configurar a aplicação em novos ambientes de maneira prática e rápida.

## Conclusão

Por fim, o NPM conta com um vasto repositório de pacotes, frameworks e bibliotecas JavaScript, permite a instalação e gerenciamento de pacotes internos e externos, também existem outras funções que você pode conferir nos artigos: “[Node Package Manager - O que você pode fazer com ele?](https://www.treinaweb.com.br/blog/npm-voce-sabe-o-que-da-para-fazer-com-ele/ "NPM - O que você pode fazer com ele?")”, [NPM – Você sabe o que dá para fazer com ele?](https://www.treinaweb.com.br/blog/npm-voce-sabe-o-que-da-para-fazer-com-ele/ "NPM – Você sabe o que dá para fazer com ele?") e [10 Truques do NPM – Você conhece todos?](https://www.treinaweb.com.br/blog/10-truques-do-npm-voce-conhece-todos/ "10 Truques do NPM – Você conhece todos?")

Enfim, se você for desenvolver utilizando node.js é, definitivamente, fundamental conhecer o NPM. Tanto que temos um curso específico de NPM, aproveite :)

[  ![Npm - Gerenciador de pacotes para JavaScript](https://d2knvm16wkt3ia.cloudfront.net/assets/svg-icon/npm.svg)   Curso Npm - Gerenciador de pacotes para JavaScript Conhecer o curso ](https://www.treinaweb.com.br/curso/npm-gerenciador-de-pacotes-para-javascript)

Por fim, caso queira aprender mais sobre [Node.js](https://www.treinaweb.com.br/blog/o-que-e-e-como-comecar-com-javascript) saiba que aqui na [TreinaWeb](https://treinaweb.com.br/) temos o curso [Node.js Fundamentos](https://www.treinaweb.com.br/curso/nodejs-fundamentos) que possui **01h52 de vídeos** e um total de **26 exercícios**. Conheça também nossos outros cursos de [Node.js](https://www.treinaweb.com.br/cursos?q=node).

Veja quais são os tópicos abordados durante o curso de Node.js - Fundamentos:

- Módulos e os padrões CommonJS/ECMAScript 2015;
- Manipulação de arquivos;
- Trabalhar com HTTP;
- Instalação de pacotes com o NPM;
- Eventos assíncronos e promises;
- Introdução ao TypeScript.

- [ #JavaScript ](https://www.treinaweb.com.br/blog/tag/javascript)
- [ #Desenvolvimento ](https://www.treinaweb.com.br/blog/tag/desenvolvimento)
- [ #Node.js ](https://www.treinaweb.com.br/blog/tag/node-js)

Autor

 ![Wesley Gado](//secure.gravatar.com/avatar/1b770ca482a7232b1885881430a592bb?d=mm)

## Wesley Gado

 Formado em Análise e Desenvolvimento de Sistemas pelo Instituto Federal de São Paulo, atuou em projetos como desenvolvedor Front-End. Nas horas vagas grava Podcast e arrisca uns três acordes no violão. 

 [Todos os artigos](https://www.treinaweb.com.br/blog/autor/wesley-gado)  

## Continue estudando

 Transforme leitura em prática com os cursos e formações da TreinaWeb.

 [Ver cursos](https://www.treinaweb.com.br/cursos)   

  Continue lendo

## Artigos relacionados

- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/05/GUIA-LINGUAGEM-JAVASCRIPT-400x280.png)  [ Desenvolvimento Front-end ](https://www.treinaweb.com.br/blog/categoria/desenvolvimento-front-end) 

     6 anos atrás

    ##  [ Guia da Linguagem JavaScript ](https://www.treinaweb.com.br/blog/guia-da-linguagem-javascript) 

     Neste Guia da Linguagem Javascript vamos abordar aspectos fundamentais, como: tipos de dados, variáveis, objetos, arrays e muito mais.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/06/NODE-SQUELIZE-MYSQL-400x280.png)  [ Javascript ](https://www.treinaweb.com.br/blog/categoria/javascript) 

     5 anos atrás

    ##  [ Usando Sequelize ORM com Node e Express ](https://www.treinaweb.com.br/blog/usando-sequelize-orm-com-node-e-express) 

     Vamos aprender a configurar uma aplicação com banco de dados MySQL usando Sequelize ORM com Node.js e Express.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2021/05/SERVIDOR-HTTP-EXPRESS-JS-400x280.png)  [ Javascript ](https://www.treinaweb.com.br/blog/categoria/javascript) 

     6 anos atrás

    ##  [ Criando um servidor HTTP com Express ](https://www.treinaweb.com.br/blog/criando-um-servidor-http-com-express) 

     O Express é um framework utilizado em conjunto com o Node.js. Ele possui características que facilitam o desenvolvimento de nossas aplicações web e APIs, como um sistema de rotas completo, tratamento de exceções, gerenciamento de requisições HTTP e muito mais.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2019/04/23151556/MÓDULOS-NPM-400x280.png)  [ Node ](https://www.treinaweb.com.br/blog/categoria/node-js) 

     8 anos atrás

    ##  [ Criando módulos globais do NPM ](https://www.treinaweb.com.br/blog/criando-modulos-globais-do-npm) 

     Aprenda a fazer seus próprios módulos globais do NPM e crie ferramentas executadas diretamente do terminal em apenas 5 passos!

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2018/03/01133925/javascript-400x280.png)  [ Javascript ](https://www.treinaweb.com.br/blog/categoria/javascript) 

     9 anos atrás

    ##  [ O que se pode fazer com JavaScript hoje em dia? ](https://www.treinaweb.com.br/blog/o-que-se-pode-fazer-com-javascript-hoje-em-dia) 

     Conheça as várias áreas onde podemos trabalhar com JavaScript além do navegador.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/06/tw-dev-server-400x280.png)  [ Ferramentas ](https://www.treinaweb.com.br/blog/categoria/ferramentas) 

     7 anos atrás

    ##  [ Tw Dev Server - como ele pode te ajudar a estudar programação? ](https://www.treinaweb.com.br/blog/tw-dev-server-como-ele-pode-te-ajudar-a-estudar-programacao) 

     Aprenda a utilizar o Tw Dev Server como servidor de arquivos estáticos e como simulador de back end com API e banco de dados para facilitar seus estudos.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2022/12/EXECUTAR-CODIGO-REACT-400x280.jpg)  [ React ](https://www.treinaweb.com.br/blog/categoria/react) 

     4 anos atrás

    ##  [ Como instalar e executar o React ](https://www.treinaweb.com.br/blog/como-instalar-e-executar-o-react) 

     Veja neste artigo como instalar e executar o React, então confira neste artigo como instalar o React por CDN (Link) e CLI (Linha de comando)

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/03/REACT-ROUTER-400x280.jpg)  [ React ](https://www.treinaweb.com.br/blog/categoria/react) 

     4 anos atrás

    ##  [ Gerenciamento de Rotas no React com React Router ](https://www.treinaweb.com.br/blog/gerenciamento-de-rotas-no-react-com-react-router) 

     Neste artigo vamos abordar um conceito importante dentro de aplicações com o React, O gerenciamento de Rotas no React com React Router.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2023/06/CSS-IN-JS-400x280.jpg)  [ Javascript ](https://www.treinaweb.com.br/blog/categoria/javascript) 

     3 anos atrás

    ##  [ CSS in JS ](https://www.treinaweb.com.br/blog/css-in-js) 

     Veja neste artigo o CSS in JS, a técnica que permite escrever estilos CSS no JavaScript, deixando a aplicação flexível e modularizada.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/10/o-que-e-o-composer-400x280.png)  [ PHP ](https://www.treinaweb.com.br/blog/categoria/php) 

     6 anos atrás

    ##  [ O que é o Composer? ](https://www.treinaweb.com.br/blog/o-que-e-o-composer) 

     Veja neste artigo o que é o Composer.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/12/npm-voce-sabe-o-que-da-para-fazer-com-ele-400x280.png)  [ Node ](https://www.treinaweb.com.br/blog/categoria/node-js) 

     6 anos atrás

    ##  [ NPM - Você sabe o que dá para fazer com ele? ](https://www.treinaweb.com.br/blog/npm-voce-sabe-o-que-da-para-fazer-com-ele) 

     Veja as várias possibilidades do que podemos fazer com o NPM.

     Ler artigo
- ![](https://dkrn4sk0rn31v.cloudfront.net/uploads/2020/07/Plop.js-Automatize-a-criação-de-arquivos-400x280.png)  [ Ferramentas ](https://www.treinaweb.com.br/blog/categoria/ferramentas) 

     6 anos atrás

    ##  [ Plop.js - Automatize a criação de arquivos ](https://www.treinaweb.com.br/blog/plop-js-automatize-a-criacao-de-arquivos) 

     O Plop.js facilita a criação de arquivos em seus projetos, evitando que você tenha sempre que escrever código repetido para iniciar uma estrutura.

     Ler artigo

## Um ano de acesso total para você viver de programação.

 Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro `console.log` ao mercado de trabalho.

- **1 ano** de acesso a **todos os cursos**
- Cursos novos **toda semana**
- Suporte **direto com professores**
- Plano de carreira **personalizado**
- **Certificados digitais** inclusos
- **Aplicativos** para Android e iOS, com **acesso offline**

    **Garantia incondicional de satisfação** 

 Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

### Acesso completo a todos os cursos e dezenas de Formações.

 12 meses 

  Economize R$ 840,00  54% OFF 

 de 12x R$ 129,00 por apenas

 12x  R$ 59,00

 sem juros no cartão de crédito ou R$ 599,00 à vista

  Oferta termina em  **04h 22min 48s**

- Acesso imediato e ilimitado durante 1 ano.
- Plano de carreira personalizado.
- Suporte direto com professores.
- E muito mais!

 [Matricule-se agora](https://www.treinaweb.com.br/checkout/pagamento/plano/anual?cupom=TW-SCLIENTE26)

     [                ](https://www.treinaweb.com.br)

 Escola online de programação, tecnologia e IA.

- [  ](https://www.facebook.com/TreinaWeb/)
- [  ](https://www.instagram.com/treinaweb/)
- [  ](https://www.youtube.com/user/TreinaWeb)
- [  ](https://twitter.com/treinaweb)
- [  ](https://www.linkedin.com/company/treinaweb)
- [  ](https://github.com/treinaweb)

## Inscreva-se em nossa newsletter

Receba lançamentos, promoções e novidades.

   Seu nome     Seu WhatsApp     Seu melhor e-mail   Inscrever-se 

## Cursos

- [ Base para Devs ](https://www.treinaweb.com.br/categoria/base-para-devs)
- [ Front-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-front-end)
- [ Back-end ](https://www.treinaweb.com.br/categoria/desenvolvimento-back-end)
- [ Mobile ](https://www.treinaweb.com.br/categoria/desenvolvimento-mobile)
- [ Bancos de Dados ](https://www.treinaweb.com.br/categoria/bancos-de-dados)
- [ Cloud ](https://www.treinaweb.com.br/categoria/cloud-computing)
- [ IA ](https://www.treinaweb.com.br/categoria/ia)
- [ E mais ](https://www.treinaweb.com.br/categoria/e-mais)
- [ Ver todos os cursos ](https://www.treinaweb.com.br/cursos)

## Conteúdo

- [ Formações ](https://www.treinaweb.com.br/formacoes)
- [ Projetos práticos ](https://www.treinaweb.com.br/projetos-praticos)
- [ Direto ao ponto ](https://www.treinaweb.com.br/direto-ao-ponto)
- [ Planos ](https://www.treinaweb.com.br#assinatura)
- [ Depoimentos ](https://www.treinaweb.com.br#depoimentos)
- [ Comunidade ](https://www.treinaweb.com.br#comunidade)
- [ Corpo docente ](https://www.treinaweb.com.br#docente)

## A empresa

- [ Sobre a TreinaWeb ](https://www.treinaweb.com.br#sobre)
- [ Perguntas frequentes ](https://www.treinaweb.com.br#faq)
- [ Vantagens de estudar na TreinaWeb ](https://www.treinaweb.com.br/vantagens-de-estudar-na-treinaweb)
- [ Cursos para empresas ](https://www.treinaweb.com.br/empresas)
- [ Sugira um novo curso ](https://www.treinaweb.com.br/sugerir-curso)
- [ Trabalhe conosco ](https://www.treinaweb.com.br/trabalhe-conosco)
- [ Artigos ](https://www.treinaweb.com.br/blog)
- [ Desenvolvedores e agentes ](https://www.treinaweb.com.br/developers)
- [ Contato ](https://www.treinaweb.com.br/contato)
- [ Política de privacidade ](https://www.treinaweb.com.br/politica-de-privacidade)
- [ Termos de uso ](https://www.treinaweb.com.br/termos-de-uso)

## Baixe nosso aplicativo

 [   Disponível na **App Store**  ](https://apps.apple.com/us/app/treinaweb/id1322729447) [   Disponível no **Google Play**  ](https://play.google.com/store/apps/details?id=br.com.treinaweb.mobile) 

  Av. Paulista, 1765, Conj 71 e 72 · Bela Vista · São Paulo · SP · 01311-200   © 2004 – 2026 TreinaWeb Tecnologia LTDA · CNPJ 06.156.637/0001-58
