Ao executar o comando npm install xxx no terminal, o npm executará as seguintes etapas para instalar o pacote:
-
Verifique se o pacote está disponível no cache npm local.
Se o pacote já existir no cache npm local, o npm irá buscar o pacote diretamente do cache e instalá-lo. Isso acelerará significativamente a instalação, pois o npm não precisa baixar pacotes da rede. -
Se o pacote não existir no cache npm local, o npm baixará o pacote do repositório npm.
O npm baixará pacotes por meio de solicitações HTTP do repositório npm, que é um repositório público de vários pacotes JavaScript. O npm também baixará quaisquer dependências relacionadas ao pacote, que também são armazenadas no repositório npm. -
Após baixar o pacote e suas dependências, o npm irá instalar o pacote de acordo com o arquivo "package.json" do pacote.
O arquivo package.json é o arquivo de configuração principal para cada pacote npm, contém informações sobre o pacote como nome, versão, dependências e scripts de desenvolvedor etc. O npm usará esse arquivo para determinar quais dependências um pacote precisa instalar. -
Depois de instalar um pacote e suas dependências, o npm criará a estrutura de diretórios do pacote na pasta "node_modules" do projeto.
A pasta "node_modules" é a pasta padrão que o npm usa para armazenar as dependências do projeto. Nesta pasta o npm irá criar a estrutura de diretórios do pacote e todas as suas dependências. Se o pacote tiver algum executável, o npm irá instalá-lo e adicioná-lo ao seu caminho, o que permite executá-lo facilmente a partir do terminal. -
Por fim, o npm atualizará o arquivo "package.json" do projeto.
O npm adicionará o nome e o número da versão do pacote recém-instalado na seção "dependencies" ou "devDependencies" do arquivo "package.json". Isso permitirá que outros desenvolvedores instalem e gerenciem facilmente as dependências do projeto. Se você estiver usando um sistema de controle de versão como o Git, o arquivo "package.json" também deve ser confirmado no repositório.
Estas são as principais etapas de execução do npm install xxx. Ao instalar pacotes, o npm também pode executar várias outras tarefas, como armazenar pacotes em cache para acelerar as instalações subsequentes, verificar a integridade e a segurança dos pacotes e muito mais.