Marco OllivierVoltar ao Blog
Ferramentas

Não se preocupe mais com o package manager do seu projeto NodeJS

25 de agosto de 2020
3 min de leitura
Marco Ollivier
NodeJSnpmyarnpnpmProdutividade

Cansado de ter que lembrar se o projeto usa npm, yarn ou pnpm? Existe uma solução simples que vai acabar com essa dor de cabeça.

O problema

Quantas vezes você já:

  • Executou npm install em um projeto que usa yarn?
  • Tentou yarn add em um projeto que usa pnpm?
  • Perdeu tempo descobrindo qual package manager usar?

A solução: ni

O ni (Node Install) é uma ferramenta que detecta automaticamente qual package manager usar baseado nos arquivos de lock presentes no projeto.

Instalação

npm i -g @antfu/ni

Como usar

Em vez de lembrar qual comando usar, simplesmente use:

## Instalar dependências
ni

## Adicionar dependência
ni axios

## Adicionar dependência de desenvolvimento
ni -D typescript

## Executar scripts
nr dev
nr build
nr test

## Remover dependência
nun axios

Como funciona

O ni verifica os arquivos de lock na seguinte ordem:

  1. pnpm-lock.yaml → usa pnpm
  2. yarn.lock → usa yarn
  3. package-lock.json → usa npm
  4. Se nenhum for encontrado → usa npm

Comandos disponíveis

ComandoDescrição
niInstalar dependências
ni <pkg>Adicionar dependência
ni -D <pkg>Adicionar dev dependency
nr <script>Executar script
nun <pkg>Remover dependência
nciClean install
naUpgrade interativo

Configuração no VS Code

Adicione ao seu settings.json:

{
  "terminal.integrated.shellIntegration.enabled": true,
  "terminal.integrated.commandsToSkipShell": ["ni", "nr", "nun", "nci", "na"]
}

Aliases úteis

Adicione ao seu .bashrc ou .zshrc:

alias nid="ni -D"
alias nis="ni -S"
alias nig="ni -g"

Vantagens

1. Consistência entre projetos

Não importa qual package manager o projeto usa, você sempre usa os mesmos comandos.

2. Menos erros

Nunca mais vai executar o comando errado por engano.

3. Onboarding mais fácil

Novos desenvolvedores não precisam saber qual package manager usar.

4. Scripts mais limpos

Seus scripts podem usar ni independente do package manager.

Exemplo prático

Antes:

## Projeto A (npm)
npm install meu-projeto
npm run dev

## Projeto B (yarn)
yarn install
yarn dev

## Projeto C (pnpm)
pnpm install
pnpm dev

Depois:

## Qualquer projeto
ni
nr dev

Integração com Docker

FROM node:18-alpine

## Instalar ni globalmente
RUN npm i -g @antfu/ni

WORKDIR /app
COPY package*.json ./
COPY yarn.lock* ./
COPY pnpm-lock.yaml* ./

## Usar ni para instalar dependências
RUN ni

COPY . .
CMD ["nr", "start"]

Conclusão

O ni é uma ferramenta simples que resolve um problema comum no desenvolvimento JavaScript/TypeScript. Uma vez que você começar a usar, não vai querer voltar atrás.

Instale hoje mesmo e pare de se preocupar com qual package manager usar!

© 2026 Marco Ollivier. Sr Staff Engineer com foco em comunidade e inovação.

me@marcopollivier.dev