DEV Community

Ricardo Mello
Ricardo Mello

Posted on

npm install vs npm ci: qual utilizar?

Logo do npm

O comando padrão pra instalar as dependências é o npm install. Se você usa o npm há certo tempo, provavelmente já utiliza esse comando sempre que precisa instalar as dependências de um projeto.

O que nem todo mundo sabe é que desde o npm v6, existe um comando similar ao npm install chamado npm ci.

Nesse artigo, vamos entender as principais diferenças entre eles e quando utilizar cada um.

npm install

O npm install instala os pacotes do package.json e suas dependências. Caso alguma dependência possua o ^ ou ou ~, ele procura novas versões e atualiza o package-lock.json com a árvore gerada.

npm ci

npm ci, ou "clean install" é utilizado para instalar as dependências do zero. Diferente do npm install, esse comando instala as dependências a partir do package-lock.json ou do npm-shrinkwrap.json.

Isso garante que você irá sempre instalar a mesma versão de cada pacote, não importa quantas vezes o comando for executado e nem se houver atualizações disponíveis. Ideal para ambientes de build automatizado ou integração contínua (CI).

Como ele pula certas etapas como atualizar o package-lock.json e resolver as dependências, esse comando também é muito mais rápido do que o npm install.

Qual usar?

  • No seu ambiente de desenvolvimento, ou sempre que você quiser atualizar as dependências elegíveis, vale continuar usando o npm install

  • Já no caso de instalar as dependências no seu servidor de integração contínua, ou até mesmo instalar local mas sem atualizar nada, vá de npm ci

Conclusão

Ambos os comandos são similares mas têm aplicações bem distintas. Eu uso o npm install no dia a dia, mas recomendo fortemente a utilização do npm ci no servidor de integração contínua. Além de ter builds mais confiáveis sem a possível atualização de versões, ele ainda vai ficar mais rápido.

Top comments (0)