{"id":51278,"date":"2022-07-18T05:18:50","date_gmt":"2022-07-18T08:18:50","guid":{"rendered":"https:\/\/kinsta.com\/pt\/?p=51278&#038;post_type=knowledgebase&#038;preview_id=51278"},"modified":"2025-10-01T17:03:51","modified_gmt":"2025-10-01T20:03:51","slug":"npm-gerenciador-pacotes-node","status":"publish","type":"post","link":"https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/","title":{"rendered":"O que \u00e9 npm? Uma Introdu\u00e7\u00e3o ao Gerenciador de Pacotes do Node"},"content":{"rendered":"<p>Ao construir projetos, cada um de n\u00f3s utiliza diversas ferramentas para tornar o desenvolvimento mais f\u00e1cil e r\u00e1pido. Na maioria das vezes, essas ferramentas s\u00e3o criadas por outros desenvolvedores e disponibilizadas gratuitamente para uso p\u00fablico.<\/p>\n<div class=\"group w-full text-gray-800 dark:text-gray-100 border-b border-black\/10 dark:border-gray-900\/50 bg-gray-50 dark:bg-[#444654]\">\n<div class=\"flex p-4 gap-4 text-base md:gap-6 md:max-w-2xl lg:max-w-[38rem] xl:max-w-3xl md:py-6 lg:px-0 m-auto\">\n<div class=\"relative flex w-[calc(100%-50px)] flex-col gap-1 md:gap-3 lg:w-[calc(100%-115px)]\">\n<div class=\"flex flex-grow flex-col gap-3\">\n<div class=\"min-h-[20px] flex items-start overflow-x-auto whitespace-pre-wrap break-words flex-col gap-4\">\n<div class=\"markdown prose w-full break-words dark:prose-invert dark\">\n<p>Imagine criar o seu pr\u00f3prio framework CSS: voc\u00ea estaria desenvolvendo seus pr\u00f3prios sistemas de design, classes utilit\u00e1rias, diferentes cores e suas varia\u00e7\u00f5es, milhares de linhas de Sass (que eventualmente ser\u00e3o compiladas para CSS), in\u00fameros componentes personalizados, testes para encontrar bugs e at\u00e9 mesmo financiamento, caso outros desenvolvedores estejam ajudando a construir esse projeto. Isso pode ser um trabalho tedioso &#8211; e caro.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"flex justify-between lg:block\">\n<div class=\"text-gray-400 flex self-end lg:self-center justify-center mt-2 gap-2 md:gap-3 lg:gap-1 lg:absolute lg:top-0 lg:translate-x-full lg:right-0 lg:mt-0 lg:pl-2 visible\">\n<p>\u00a0<\/p>\n<div class=\"flex gap-1\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>Mas gra\u00e7as \u00e0 crescente variedade de recursos gratuitos criados por desenvolvedores, \u00e9 mais f\u00e1cil do que nunca evitar todo esse custo e esfor\u00e7o.<br \/>\n<\/p>\n<p>Neste tutorial, falaremos sobre o npm (gerenciador de pacotes do Node), um reposit\u00f3rio on-line de pacotes <a href=\"https:\/\/kinsta.com\/pt\/blog\/o-que-e-javascript\/\">JavaScript<\/a> de c\u00f3digo aberto para o Node.js. Vamos conhecer o que \u00e9 o npm, como utiliz\u00e1-lo e entender o prop\u00f3sito dos pacotes, al\u00e9m de aprender como interagir com eles localmente e remotamente.<\/p>\n<p>Tamb\u00e9m vamos usar a interface de linha de comando (CLI), e aprender sobre depend\u00eancias, scripts e o arquivo <strong>package.json<\/strong>.<br \/>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc><\/p>\n<h2>O que \u00e9 npm (Node Package Manager)?<\/h2>\n<figure id=\"attachment_125681\" aria-describedby=\"caption-attachment-125681\" style=\"width: 3515px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/06\/npm-homepage.png\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-125681 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/06\/npm-homepage.png\" alt=\"P\u00e1gina inicial do npm\" width=\"3515\" height=\"1603\"><\/a><figcaption id=\"caption-attachment-125681\" class=\"wp-caption-text\">P\u00e1gina inicial do npm<\/figcaption><\/figure>\n<p>Embora voc\u00ea possa ver varia\u00e7\u00f5es diferentes do significado de npm, a sigla significa &#8220;Node package manager&#8221; (Gerenciador de pacotes do Node).<\/p>\n<p>npm \u00e9 um gerenciador de pacotes para <a href=\"https:\/\/kinsta.com\/pt\/blog\/aplicativos-node-js\/\" rel=\"noopener\">projetos Node.js<\/a> disponibilizados para uso p\u00fablico. Os projetos dispon\u00edveis no registro do npm s\u00e3o chamados de &#8220;pacotes&#8221;.<\/p>\n<p>npm nos permite usar c\u00f3digos escritos por outros facilmente sem a necessidade de escrev\u00ea-los durante o desenvolvimento.<\/p>\n<p>O registro npm tem mais de 1,3 milh\u00f5es de pacotes sendo usados por mais de 11 milh\u00f5es de desenvolvedores em todo o mundo. (Falaremos mais sobre pacotes mais tarde neste tutorial.)<\/p>\n<h2>Por que usar o npm?<\/h2>\n<p>Aqui est\u00e3o algumas das raz\u00f5es pelas quais voc\u00ea deve usar o npm:<\/p>\n<ol>\n<li>Ele permite que voc\u00ea instale bibliotecas, frameworks e outras ferramentas de desenvolvimento para o seu projeto, semelhante \u00e0 instala\u00e7\u00e3o de um aplicativo m\u00f3vel a partir de uma loja de aplicativos.<\/li>\n<li>Voc\u00ea ganha acesso a projetos seguros do Node.js para desenvolvimento.<\/li>\n<li>Ele ajuda voc\u00ea a acelerar a fase de desenvolvimento, usando depend\u00eancias pr\u00e9-constru\u00eddas.<\/li>\n<li>O npm tem uma grande variedade de ferramentas para escolher sem custo.<\/li>\n<li>O uso dos comandos npm n\u00e3o requer muito aprendizado, pois eles s\u00e3o f\u00e1ceis de entender e fazer uso deles.<\/li>\n<\/ol>\n<p>A seguir, falaremos sobre a interface de linha de comando npm.<\/p>\n<h2>A interface de linha de comando npm (CLI)<\/h2>\n<p>A interface de linha de comando para npm \u00e9 usada para executar v\u00e1rios comandos como instalar e desinstalar pacotes, verificar a vers\u00e3o npm, executar scripts de pacotes, criar arquivo <strong>package.json<\/strong>, e muito mais.<\/p>\n<p>Conforme progredimos neste tutorial, veremos alguns dos casos de uso da interface da linha de comando.<\/p>\n<p>Em um computador Windows, normalmente nos referimos \u00e0 interface de linha de comando como Prompt de Comando. Em um computador Mac, ele \u00e9 chamado de <a href=\"https:\/\/kinsta.com\/pt\/blog\/wp-cli-v2\/\">terminal<\/a>.<\/p>\n<h2>Comandos e pseud\u00f4nimos essenciais do npm<\/h2>\n<p>Nesta se\u00e7\u00e3o, vamos rever alguns dos comandos npm mais comumente usados e o que eles fazem.<\/p>\n<h3 id=\"npm-install\" class=\"has-anchor-hash\">npm install<\/h3>\n<p>Este comando \u00e9 usado para instalar pacotes. Voc\u00ea pode instalar os pacotes global ou localmente. Quando um pacote \u00e9 instalado globalmente, podemos usar a funcionalidade do pacote a partir de qualquer diret\u00f3rio em nosso computador.<\/p>\n<p>Por outro lado, se instalarmos um pacote localmente, s\u00f3 podemos fazer uso dele no diret\u00f3rio onde ele foi instalado. Portanto, nenhuma outra pasta ou arquivo em nosso computador pode usar o pacote.<\/p>\n<h3 id=\"npm-uninstall\" class=\"has-anchor-hash\">npm uninstall<\/h3>\n<p>Este comando \u00e9 usado para desinstalar um pacote.<\/p>\n<h3>npm init<\/h3>\n<p>O comando <code>init<\/code> \u00e9 usado para inicializar um projeto. Quando voc\u00ea executa este comando, ele cria um arquivo <strong>package.json<\/strong>.<\/p>\n<p>Ao executar <code>npm init<\/code>, voc\u00ea ser\u00e1 solicitado a fornecer certas informa\u00e7\u00f5es sobre o projeto que voc\u00ea est\u00e1 inicializando. Esta informa\u00e7\u00e3o inclui o nome do projeto, o tipo de licen\u00e7a, a vers\u00e3o, e assim por diante.<\/p>\n<p>Para pular o processo de fornecer as informa\u00e7\u00f5es voc\u00ea mesmo, voc\u00ea pode simplesmente executar o comando <code>npm init -y<\/code>.<\/p>\n<h3 id=\"npm-update\" class=\"has-anchor-hash\">npm update<\/h3>\n<p>Use este comando para atualizar um pacote npm para sua vers\u00e3o mais recente.<\/p>\n<h3 id=\"npm-restart\" class=\"has-anchor-hash\">npm restart<\/h3>\n<p>Usado para reiniciar um pacote. Voc\u00ea pode usar este comando quando voc\u00ea quiser parar e reiniciar um projeto em particular.<\/p>\n<h3>npm start<\/h3>\n<p>Usado para iniciar um pacote quando necess\u00e1rio.<\/p>\n<h3>npm stop<\/h3>\n<p>Usado para impedir a execu\u00e7\u00e3o de um pacote.<\/p>\n<h3 id=\"npm-version\" class=\"has-anchor-hash\">npm version<\/h3>\n<p>Mostra a vers\u00e3o atual da npm instalada em seu computador.<\/p>\n<h3 id=\"npm-publish\" class=\"has-anchor-hash\">npm publish<\/h3>\n<p>Usado para publicar um pacote npm para o registro npm. Isso \u00e9 usado principalmente quando voc\u00ea criou seu pr\u00f3prio pacote.<\/p>\n<h2>Como instalar o npm<\/h2>\n<p>Para instalar o npm, voc\u00ea teria primeiro que <a href=\"https:\/\/kinsta.com\/pt\/blog\/como-instalar-o-node-js\/\">instalar o Node.js<\/a> no seu computador. Para fazer isso, v\u00e1 at\u00e9 o <a href=\"https:\/\/nodejs.org\/en\/download\/\" target=\"_blank\" rel=\"noopener noreferrer\">site do Node.js<\/a> e fa\u00e7a o download. Recomendamos fazer o download da vers\u00e3o LTS, pois ela \u00e9 a vers\u00e3o mais est\u00e1vel do Node.js.<\/p>\n<p>A instala\u00e7\u00e3o do Node.js instala automaticamente o npm &#8211; nenhuma instala\u00e7\u00e3o separada \u00e9 necess\u00e1ria.<\/p>\n<h3>Como verificar a vers\u00e3o atual do npm instalado no seu PC<\/h3>\n<p>Ap\u00f3s instalar o Node.js, execute os seguintes comandos para ver suas vers\u00f5es Node.js e npm:<\/p>\n<pre><code class=\"language-bash\">node -v<\/code><\/pre>\n<p>O pr\u00f3ximo comando mostrar\u00e1 a vers\u00e3o atual da npm:<\/p>\n<pre><code class=\"language-bash\">npm -v<\/code><\/pre>\n<h2>npm packages<\/h2>\n<p>Nesta se\u00e7\u00e3o, vamos falar sobre como instalar e desinstalar pacotes npm global e localmente, atualizar um pacote, listar pacotes, mudar a localiza\u00e7\u00e3o de um pacote e procurar por pacotes instalados.<\/p>\n<p>Vamos come\u00e7ar discutindo o que \u00e9 um pacote npm e ver alguns exemplos de pacotes usados pelos desenvolvedores.<\/p>\n<h3>O que \u00e9 um pacote npm?<\/h3>\n<p>Um pacote \u00e9 simplesmente um projeto pr\u00e9-constru\u00eddo publicado no diret\u00f3rio npm. O que os pacotes podem fazer depende apenas do criador do pacote e dos contribuintes para ele.<\/p>\n<p>Com npm, podemos acessar in\u00fameros projetos criados por outros desenvolvedores. Imagine criar sua pr\u00f3pria framework CSS; isso levaria muito tempo para ser feito. Ent\u00e3o os desenvolvedores criam esses projetos e os colocam no registro npm para podermos us\u00e1-los e facilitar o processo de desenvolvimento.<\/p>\n<p>Um exemplo desse pacote npm \u00e9 o <a href=\"https:\/\/kinsta.com\/pt\/blog\/tailwind-css\/\" rel=\"noopener\">Tailwind CSS<\/a>, um framework de CSS para a build de p\u00e1ginas de internet. Outros pacotes populares de npm incluem React, Chalk, Gulp, Bootstrap, Express, e <a href=\"https:\/\/kinsta.com\/pt\/blog\/vue-js\/\" rel=\"noopener\">Vue.js<\/a>, entre muitos outros.<\/p>\n<h3>Como instalar um pacote npm globalmente<\/h3>\n<p>Quando voc\u00ea instala um pacote npm globalmente, voc\u00ea consegue acess\u00e1-lo de qualquer diret\u00f3rio em seu computador.<\/p>\n<p>Nesta se\u00e7\u00e3o, voc\u00ea ver\u00e1 uma maneira pr\u00e1tica de instalar um pacote globalmente, executando um comando npm em seu terminal.<\/p>\n<p>Para instalar um pacote globalmente, use este comando:<\/p>\n<pre><code class=\"language-bash\">npm install -g [package name]<\/code><\/pre>\n<p>Note que a flag <code>-g<\/code> no comando \u00e9 o que habilita o npm CLI a instalar o pacote globalmente.<\/p>\n<p>Aqui est\u00e1 um exemplo:<\/p>\n<pre><code class=\"language-bash\">npm install -g typescript<\/code><\/pre>\n<p>O comando acima ir\u00e1 instalar o TypeScript globalmente em seu computador. Ap\u00f3s a instala\u00e7\u00e3o, voc\u00ea pode usar o TypeScript em qualquer diret\u00f3rio.<\/p>\n<h3>Como instalar um pacote npm localmente<\/h3>\n<p>Na se\u00e7\u00e3o anterior, vimos como instalar um pacote npm globalmente. Agora vamos falar sobre a instala\u00e7\u00e3o de um localmente.<\/p>\n<p>Para instalar um pacote localmente significa que voc\u00ea s\u00f3 pode usar a funcionalidade do pacote no diret\u00f3rio atual. Para fazer isso, voc\u00ea teria que navegar at\u00e9 o diret\u00f3rio que voc\u00ea quer instalar o pacote e executar este comando no terminal:<\/p>\n<pre><code class=\"language-bash\">npm install [package name]<\/code><\/pre>\n<p>Aqui est\u00e1 um exemplo:<\/p>\n<pre><code class=\"language-bash\">npm install typescript<\/code><\/pre>\n<p>O comando acima instalar\u00e1 TypeScript localmente, o que significa que ele s\u00f3 funcionar\u00e1 neste diret\u00f3rio atual.<\/p>\n<h3>Como desinstalar um pacote npm globalmente<\/h3>\n<p>Em situa\u00e7\u00f5es onde n\u00e3o precisamos mais de um pacote npm, voc\u00ea pode remov\u00ea-lo do seu computador, desinstalando.<\/p>\n<p>Para desinstalar um pacote globalmente, use isso:<\/p>\n<pre><code class=\"language-bash\">npm uninstall -g [package name]<\/code><\/pre>\n<p>Veremos um exemplo:<\/p>\n<pre><code class=\"language-bash\">npm uninstall -g typescript<\/code><\/pre>\n<p>O comando no exemplo acima remover\u00e1 o pacote TypeScript do seu computador.<\/p>\n<h3>Como desinstalar um pacote npm localmente<\/h3>\n<p>Desinstalar um pacote npm instalado localmente \u00e9 similar ao exemplo anterior, exceto desta vez, n\u00e3o estaremos usando a flag <code>-g<\/code>.<\/p>\n<p>Aqui est\u00e1 a sintaxe:<\/p>\n<pre><code class=\"language-bash\">npm uninstall [package name]<\/code><\/pre>\n<p>E aqui est\u00e1 um exemplo:<\/p>\n<pre><code class=\"language-bash\">npm uninstall typescript<\/code><\/pre>\n<h3>Como atualizar npm e pacotes<\/h3>\n<p>Manter seus npm e pacotes atualizados \u00e9 a melhor maneira de manter <a href=\"https:\/\/kinsta.com\/pt\/blog\/tipos-de-malwares\/\" rel=\"noopener\">bugs e falhas de seguran\u00e7a<\/a> longe do seu c\u00f3digo.<\/p>\n<p>Para atualizar npm para sua \u00faltima vers\u00e3o, use o comando abaixo:<\/p>\n<pre><code class=\"language-bash\">npm install npm@latest - g<\/code><\/pre>\n<p>Isso atualiza o npm globalmente no seu computador.<\/p>\n<p>Quando os criadores de um pacote introduzem novos recursos ou corrigem bugs, eles atualizam o pacote no registro npm. Voc\u00ea ent\u00e3o tem que atualizar seu pr\u00f3prio pacote a fim de usar os novos recursos.<\/p>\n<p>Aqui est\u00e1 a sintaxe do comando que voc\u00ea usaria para fazer isso:<\/p>\n<pre><code class=\"language-bash\">npm update [package name]<\/code><\/pre>\n<p>E aqui est\u00e1 um exemplo:<\/p>\n<pre><code class=\"language-bash\">npm update typescript<\/code><\/pre>\n<p>O comando acima atualiza o TypeScript para sua vers\u00e3o mais recente.<\/p>\n<p>Al\u00e9m disso, como nas se\u00e7\u00f5es anteriores, podemos usar a flag <code>-g<\/code> para atualizar um pacote globalmente. Ou seja:<\/p>\n<pre><code class=\"language-bash\">npm update -g typescript<\/code><\/pre>\n<h3>Como mudar a localiza\u00e7\u00e3o dos pacotes npm<\/h3>\n<p>Para alguns usu\u00e1rios que n\u00e3o t\u00eam permiss\u00f5es administrativas em seu computador, a execu\u00e7\u00e3o de comandos npm pode retornar uma mensagem de erro. Para corrigir isso, voc\u00ea pode alterar o local padr\u00e3o de instala\u00e7\u00e3o de seus pacotes, definindo um novo local\/diret\u00f3rio.<\/p>\n<p>Aqui est\u00e1 a sintaxe para fazer isso:<\/p>\n<pre><code class=\"language-bash\">npm config set prefix [new directory path]<\/code><\/pre>\n<p>Uma vez que voc\u00ea tenha definido o novo caminho para a instala\u00e7\u00e3o dos pacotes, todos os seus pacotes npm ser\u00e3o salvos l\u00e1 por padr\u00e3o.<\/p>\n<h3>Como listar pacotes npm instalados globalmente<\/h3>\n<p>Se voc\u00ea est\u00e1 se perguntando como verificar o n\u00famero de pacotes instalados em seu computador, o npm fornece um comando que os lista.<\/p>\n<p>Entrando no comando abaixo lista todos os pacotes instalados globalmente no seu dispositivo:<\/p>\n<pre><code class=\"language-bash\">npm list -g<\/code><\/pre>\n<p>Quando o comando acima for executado com sucesso, voc\u00ea ver\u00e1 uma lista completa de pacotes que voc\u00ea j\u00e1 instalou anteriormente em qualquer lugar do seu computador.<\/p>\n<p>Na pr\u00f3xima se\u00e7\u00e3o, veremos como listar os pacotes npm instalados localmente.<\/p>\n<h3>Como listar pacotes npm instalados localmente<\/h3>\n<p>Similar \u00e0 \u00faltima se\u00e7\u00e3o, tamb\u00e9m podemos listar pacotes de npm instalados localmente.<\/p>\n<p>Para ver uma lista de pacotes instalados localmente, execute o comando abaixo em seu terminal:<\/p>\n<pre><code class=\"language-bash\">npm list<\/code><\/pre>\n<p>Voc\u00ea tem que executar o comando acima no diret\u00f3rio do seu projeto a fim de ver todos os pacotes instalados para aquele projeto em particular.<\/p>\n<h3>Como procurar por npm pacotes<\/h3>\n<p>H\u00e1 mais de 1,3 milh\u00f5es de pacotes no registro da npm, todos com diferentes funcionalidades. O pacote certo depende de suas necessidades e objetivos.<\/p>\n<p>H\u00e1 pacotes que voc\u00ea \u00e9 obrigado a usar ao trabalhar com certas pilhas de desenvolvimento. Por exemplo, um pacote popular no React \u00e9 o React Router, usado para roteamento no React.<\/p>\n<p>Da mesma forma, outras pilhas de tecnologia requerem pacotes diferentes.<\/p>\n<p>Voc\u00ea pode usar a barra de pesquisa no <a href=\"https:\/\/www.npmjs.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">site da npm<\/a> para procurar por pacotes e ver o que cada um faz. A maioria vem com instru\u00e7\u00f5es de instala\u00e7\u00e3o e detalhes das funcionalidades. Procure por pacotes mantidos regularmente &#8211; ou seja, pacotes que est\u00e3o sendo testados, corrigidos e melhorados em intervalos regulares pelos desenvolvedores da comunidade.<\/p>\n<h2>Arquivos e pastas npm adicionais<\/h2>\n<p>Agora que temos uma compreens\u00e3o s\u00f3lida do que s\u00e3o pacotes de npm e como eles s\u00e3o usados, vamos dar uma olhada em alguns dos outros arquivos e pastas envolvidos em um projeto baseado em npm.<\/p>\n<h3>O arquivo <strong>package.json<\/strong><\/h3>\n<p>O arquivo <strong>package.json<\/strong> nos ajuda a manter o controle de todos os pacotes instalados em um determinado projeto. Ao criar um novo projeto, \u00e9 importante come\u00e7ar criando este arquivo.<\/p>\n<p>Ele armazena informa\u00e7\u00f5es sobre um projeto como o nome do projeto, sua vers\u00e3o, scripts, depend\u00eancias e muito mais.<\/p>\n<p>Voc\u00ea pode fazer isso rodando o comando <code>npm init<\/code> ou <code>npm init -y<\/code> no terminal do projeto. Ent\u00e3o basta responder todas as perguntas que o sistema faz ao criar o arquivo.<\/p>\n<p>Ap\u00f3s gerar o arquivo <strong>package.json<\/strong>, todos os pacotes instalados, juntamente com seus nomes e vers\u00f5es, ser\u00e3o armazenados no arquivo.<\/p>\n<p>Outro uso importante do arquivo <strong>package.json<\/strong> \u00e9 visto quando clonamos projetos no <a href=\"https:\/\/kinsta.com\/pt\/blog\/que-github\/\" rel=\"noopener\">GitHub<\/a>. Quando os <a href=\"https:\/\/kinsta.com\/pt\/blog\/git-para-desenvolvimento-web\/\" rel=\"noopener\">desenvolvedores enviam seus projetos para um reposit\u00f3rio<\/a>, eles deixam de fora a pasta <code>node_modules<\/code>, que cont\u00e9m nossos pacotes e suas depend\u00eancias.<\/p>\n<p>Para gerar sua pr\u00f3pria pasta ap\u00f3s clonar um reposit\u00f3rio, voc\u00ea tem que executar o comando <code>npm install<\/code> no terminal do seu projeto. Isso permitir\u00e1 que o npm passe pelo arquivo <strong>package.json<\/strong> do reposit\u00f3rio e instale todos os pacotes listados l\u00e1.<\/p>\n<p>Depois que a instala\u00e7\u00e3o estiver completa, voc\u00ea pode ent\u00e3o usar todos os pacotes previamente instalados para aquele projeto antes que ele seja empurrado para o GitHub.<\/p>\n<h3>O que s\u00e3o depend\u00eancias npm?<\/h3>\n<p>Quando instalamos pacotes, uma pasta <code>node_modules<\/code> \u00e9 criada onde podemos ver outras pastas &#8211; ou seja, a pasta e subpastas de cada pacote. Voc\u00ea pode estar se perguntando porque essas outras pastas est\u00e3o l\u00e1 quando voc\u00ea n\u00e3o as instalou.<\/p>\n<p>Bem, no seu arquivo <strong>package.json<\/strong>, seus pacotes est\u00e3o listados em depend\u00eancias porque seu projeto est\u00e1 &#8220;dependendo&#8221; desses pacotes para que o trabalho seja feito.<\/p>\n<p>As pastas extras criadas em sua pasta <code>node_modules<\/code> s\u00e3o outros pacotes adicionais dos quais seus pacotes instalados dependem a fim de lhe dar as melhores funcionalidades. Voc\u00ea pode verificar isso facilmente olhando para o arquivo <strong>package.json<\/strong> de um pacote instalado para ver suas depend\u00eancias.<\/p>\n<h3>O que s\u00e3o npm scripts?<\/h3>\n<p>Os scripts npm s\u00e3o scripts personalizados definidos no arquivo <strong>package.json<\/strong>, a fim de automatizar certas tarefas. Voc\u00ea tamb\u00e9m pode definir seus pr\u00f3prios scripts para automatizar v\u00e1rias tarefas, como <a href=\"https:\/\/kinsta.com\/pt\/blog\/otimizar-css\/\" rel=\"noopener\">minificar seu c\u00f3digo CSS<\/a>, reiniciar seu servidor toda vez que altera\u00e7\u00f5es s\u00e3o feitas, construir um projeto para produ\u00e7\u00e3o, e assim por diante.<\/p>\n<p>Quando criamos um arquivo <strong>package.json<\/strong>, geralmente existe um script <code>test<\/code> gerado com o arquivo. Podemos usar scripts para fazer uma variedade de tarefas como iniciar um servidor, minificar nosso CSS, compactar nosso c\u00f3digo para produ\u00e7\u00e3o, e assim por diante.<\/p>\n<p>Um exemplo popular de um desses scripts \u00e9 o <code>npm run start<\/code> no React, que gira nosso servidor de desenvolvimento em <code>localhost:3000<\/code>.<\/p>\n<p>Como o script acima, podemos executar outros scripts usando esta sintaxe de comando:<\/p>\n<pre><code class=\"language-bash\">npm run [script-name]<\/code><\/pre>\n\n<h2>Resumo<\/h2>\n<p>Ao longo dos anos, npm se tornou uma necessidade no desenvolvimento de <a href=\"https:\/\/kinsta.com\/pt\/blog\/como-se-tornar-um-desenvolvedor-web\/\" rel=\"noopener\">aplicativos web<\/a> baseadas no Node.js. npm nos d\u00e1 acesso a milh\u00f5es de projetos implantados por outros desenvolvedores que voc\u00ea pode usar gratuitamente para promover seu pr\u00f3prio projeto.<\/p>\n<p>H\u00e1 uma grande variedade de pacotes npm que v\u00e3o desde frameworks CSS, pacotes de arquivos, <a href=\"https:\/\/kinsta.com\/pt\/blog\/bibliotecas-javascript\/\" rel=\"noopener\">frameworks JavaScript<\/a>, ferramentas backend, e muito mais. Estes projetos tamb\u00e9m s\u00e3o seguros para outros desenvolvedores usarem, e muitos s\u00e3o mantidos e atualizados regularmente.<\/p>\n<p>Com npm, o desenvolvimento de aplicativos web se tornou mais f\u00e1cil; n\u00e3o somos obrigados a recriar a roda. Tudo o que temos que fazer \u00e9 instalar outro pacote de desenvolvimento e nos poupar horas de codifica\u00e7\u00e3o.<\/p>\n<p>Como desenvolvedores, tamb\u00e9m podemos criar nossos pr\u00f3prios pacotes npm e public\u00e1-los no registro npm para que outros desenvolvedores os utilizem. Assim como os <a href=\"https:\/\/kinsta.com\/pt\/blog\/colaborador-do-wordpress\/\" rel=\"noopener\">usu\u00e1rios da comunidade WordPress contribuem<\/a> para a melhoria e o sucesso da plataforma, tamb\u00e9m os membros da comunidade Node.js podem.<\/p>\n<p>Voc\u00ea criou alguma ferramenta que ajuda na sua fase de desenvolvimento que voc\u00ea adoraria que outros desenvolvedores usassem? Compartilhe suas ideias na se\u00e7\u00e3o de coment\u00e1rios!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ao construir projetos, cada um de n\u00f3s utiliza diversas ferramentas para tornar o desenvolvimento mais f\u00e1cil e r\u00e1pido. Na maioria das vezes, essas ferramentas s\u00e3o criadas &#8230;<\/p>\n","protected":false},"author":240,"featured_media":51279,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[523,460,506,930],"topic":[977],"class_list":["post-51278","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-javascript","tag-javascript-frameworks","tag-node-js","tag-npm","topic-frameworks-javascript"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>O que \u00e9 npm? Uma Introdu\u00e7\u00e3o ao Gerenciador de Pacotes do Node<\/title>\n<meta name=\"description\" content=\"npm \u00e9 o gerenciador de pacotes oficial para o framework de c\u00f3digo aberto Node.js. Aprenda como us\u00e1-lo e aproveitar todo o seu potencial com este tutorial.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"O que \u00e9 npm? Uma Introdu\u00e7\u00e3o ao Gerenciador de Pacotes do Node\" \/>\n<meta property=\"og:description\" content=\"npm \u00e9 o gerenciador de pacotes oficial para o framework de c\u00f3digo aberto Node.js. Aprenda como us\u00e1-lo e aproveitar todo o seu potencial com este tutorial.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstapt\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-07-18T08:18:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-01T20:03:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2022\/07\/what-is-npm.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ihechikara Abba\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"npm \u00e9 o gerenciador de pacotes oficial para o framework de c\u00f3digo aberto Node.js. Aprenda como us\u00e1-lo e aproveitar todo o seu potencial com este tutorial.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2022\/07\/what-is-npm.png\" \/>\n<meta name=\"twitter:creator\" content=\"@kinsta_pt\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_pt\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ihechikara Abba\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/\"},\"author\":{\"name\":\"Ihechikara Abba\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/ac373ce22a016949523f7e464fdcae26\"},\"headline\":\"O que \u00e9 npm? Uma Introdu\u00e7\u00e3o ao Gerenciador de Pacotes do Node\",\"datePublished\":\"2022-07-18T08:18:50+00:00\",\"dateModified\":\"2025-10-01T20:03:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/\"},\"wordCount\":2631,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2022\/07\/what-is-npm.png\",\"keywords\":[\"JavaScript\",\"JavaScript Frameworks\",\"node.js\",\"npm\"],\"inLanguage\":\"pt-PT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/\",\"url\":\"https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/\",\"name\":\"O que \u00e9 npm? Uma Introdu\u00e7\u00e3o ao Gerenciador de Pacotes do Node\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2022\/07\/what-is-npm.png\",\"datePublished\":\"2022-07-18T08:18:50+00:00\",\"dateModified\":\"2025-10-01T20:03:51+00:00\",\"description\":\"npm \u00e9 o gerenciador de pacotes oficial para o framework de c\u00f3digo aberto Node.js. Aprenda como us\u00e1-lo e aproveitar todo o seu potencial com este tutorial.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2022\/07\/what-is-npm.png\",\"contentUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2022\/07\/what-is-npm.png\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/pt\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Frameworks JavaScript\",\"item\":\"https:\/\/kinsta.com\/pt\/topicos\/frameworks-javascript\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"O que \u00e9 npm? Uma Introdu\u00e7\u00e3o ao Gerenciador de Pacotes do Node\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/pt\/#website\",\"url\":\"https:\/\/kinsta.com\/pt\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/pt\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/pt\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/pt\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstapt\/\",\"https:\/\/x.com\/kinsta_pt\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/ac373ce22a016949523f7e464fdcae26\",\"name\":\"Ihechikara Abba\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/kinsta.com\/pt\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/483df106a6ba0c29683578302f74008c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/483df106a6ba0c29683578302f74008c?s=96&d=mm&r=g\",\"caption\":\"Ihechikara Abba\"},\"description\":\"Ihechikara is a software developer and technical writer. He enjoys writing articles on web technologies, programming, and IT-related topics. Connect with Ihechikara on Twitter.\",\"url\":\"https:\/\/kinsta.com\/pt\/blog\/author\/ihechivinabba\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"O que \u00e9 npm? Uma Introdu\u00e7\u00e3o ao Gerenciador de Pacotes do Node","description":"npm \u00e9 o gerenciador de pacotes oficial para o framework de c\u00f3digo aberto Node.js. Aprenda como us\u00e1-lo e aproveitar todo o seu potencial com este tutorial.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/","og_locale":"pt_PT","og_type":"article","og_title":"O que \u00e9 npm? Uma Introdu\u00e7\u00e3o ao Gerenciador de Pacotes do Node","og_description":"npm \u00e9 o gerenciador de pacotes oficial para o framework de c\u00f3digo aberto Node.js. Aprenda como us\u00e1-lo e aproveitar todo o seu potencial com este tutorial.","og_url":"https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstapt\/","article_published_time":"2022-07-18T08:18:50+00:00","article_modified_time":"2025-10-01T20:03:51+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2022\/07\/what-is-npm.png","type":"image\/png"}],"author":"Ihechikara Abba","twitter_card":"summary_large_image","twitter_description":"npm \u00e9 o gerenciador de pacotes oficial para o framework de c\u00f3digo aberto Node.js. Aprenda como us\u00e1-lo e aproveitar todo o seu potencial com este tutorial.","twitter_image":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2022\/07\/what-is-npm.png","twitter_creator":"@kinsta_pt","twitter_site":"@kinsta_pt","twitter_misc":{"Escrito por":"Ihechikara Abba","Tempo estimado de leitura":"12 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/"},"author":{"name":"Ihechikara Abba","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/ac373ce22a016949523f7e464fdcae26"},"headline":"O que \u00e9 npm? Uma Introdu\u00e7\u00e3o ao Gerenciador de Pacotes do Node","datePublished":"2022-07-18T08:18:50+00:00","dateModified":"2025-10-01T20:03:51+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/"},"wordCount":2631,"publisher":{"@id":"https:\/\/kinsta.com\/pt\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2022\/07\/what-is-npm.png","keywords":["JavaScript","JavaScript Frameworks","node.js","npm"],"inLanguage":"pt-PT"},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/","url":"https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/","name":"O que \u00e9 npm? Uma Introdu\u00e7\u00e3o ao Gerenciador de Pacotes do Node","isPartOf":{"@id":"https:\/\/kinsta.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2022\/07\/what-is-npm.png","datePublished":"2022-07-18T08:18:50+00:00","dateModified":"2025-10-01T20:03:51+00:00","description":"npm \u00e9 o gerenciador de pacotes oficial para o framework de c\u00f3digo aberto Node.js. Aprenda como us\u00e1-lo e aproveitar todo o seu potencial com este tutorial.","breadcrumb":{"@id":"https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/#primaryimage","url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2022\/07\/what-is-npm.png","contentUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2022\/07\/what-is-npm.png","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/pt\/blog\/npm-gerenciador-pacotes-node\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/pt\/"},{"@type":"ListItem","position":2,"name":"Frameworks JavaScript","item":"https:\/\/kinsta.com\/pt\/topicos\/frameworks-javascript\/"},{"@type":"ListItem","position":3,"name":"O que \u00e9 npm? Uma Introdu\u00e7\u00e3o ao Gerenciador de Pacotes do Node"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/pt\/#website","url":"https:\/\/kinsta.com\/pt\/","name":"Kinsta\u00ae","description":"Solu\u00e7\u00f5es de hospedagem Premium, r\u00e1pida e segura","publisher":{"@id":"https:\/\/kinsta.com\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/pt\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/pt\/wp-content\/uploads\/sites\/3\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/pt\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstapt\/","https:\/\/x.com\/kinsta_pt","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/ac373ce22a016949523f7e464fdcae26","name":"Ihechikara Abba","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/kinsta.com\/pt\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/483df106a6ba0c29683578302f74008c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/483df106a6ba0c29683578302f74008c?s=96&d=mm&r=g","caption":"Ihechikara Abba"},"description":"Ihechikara is a software developer and technical writer. He enjoys writing articles on web technologies, programming, and IT-related topics. Connect with Ihechikara on Twitter.","url":"https:\/\/kinsta.com\/pt\/blog\/author\/ihechivinabba\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/51278","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/users\/240"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/comments?post=51278"}],"version-history":[{"count":11,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/51278\/revisions"}],"predecessor-version":[{"id":61360,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/posts\/51278\/revisions\/61360"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/51278\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/51278\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/51278\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/51278\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/51278\/translations\/de"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/51278\/translations\/es"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/51278\/translations\/jp"},{"href":"https:\/\/kinsta.com\/pt\/wp-json\/kinsta\/v1\/posts\/51278\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/media\/51279"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/media?parent=51278"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/tags?post=51278"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/pt\/wp-json\/wp\/v2\/topic?post=51278"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}