Devo commitar o node_modules no git?
![Devo commitar o node_modules no git?](/_next/image?url=https%3A%2F%2Fpocketbase.douglasmoura.dev%2Fapi%2Ffiles%2Fquq9xznky3sx782%2Fki0u7azeq776w83%2Fwombat_F7ltiMWs07.webp&w=3840&q=75)
TL; DR: Não. Por favor, adicione node_modules
ao seu arquivo .gitignore
:
node_modules
Mas, por quê?
O diretório node_modules
é onde o seu gerenciador de pacotes (que pode ser o npm, yarn ou pnpm) irá instalar todas as dependências do projeto listadas no seu package.json
. Independentemente do gerenciador de pacotes que você escolher, um lockfile (package-lock.json
, yarn.lock
ou pnpm-lock.yaml
, respectivamente) será gerado na primeira vez que você instalar as dependências do seu projeto, descrevendo toda a árvore de dependências. Dessa forma, toda vez que você precisar reinstalar as dependências do seu projeto, você obterá exatamente os mesmos arquivos.
O lockfile deve ser commitado no git
, permitindo a reinstalação da árvore de dependências em qualquer outro ambiente, o que torna desnecessário commitar o diretório node_modules
no git
(além disso, isso reduz muito o tamanho do seu repositório, já que o node_modules
pode consumir gigabytes de espaço).