1. Por que acontece
A partir do npm 7, peer dependencies são tratadas com mais rigor. Um plugin pode exigir React 18 enquanto o app está em 19.
npm install
# ERRESOLVE unable to resolve dependency tree
npm ls react
npm explain react
2. Estratégias (da melhor à paliativa)
- Atualizar o pacote que declara o peer antigo
- Alinhar a versão do peer no app (quando seguro)
- Usar
overridesnopackage.jsoncom consciência npm i --legacy-peer-depssó como paliativo local/CI temporário
// package.json
"overrides": {
"algum-plugin": { "react": "$react" }
}
BOA PRÁTICA Trate peer conflict como sinal de stack desalinhada — não como “bug chato do npm”.