Как избавиться от ошибки unable to resolve dependency tree ?

С выходом версии npm 7+ изменился подход к установке peerDependencies, если раньше они игнорировались, то теперь npm пытается поставить их.

Если на момент установки модуля вы имеете установленную зависимость (например React), но ее версия не совпадает с той, которая указана у устанавливаемого модуля, то npm бросит ошибку

npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
...

Решение

Можно установить пакет с флагом --legacy-peer-deps, он был добавлен в версии npm 7, чтобы обеспечить поведение, которое было у npm c 4-6 версии.

Он говорит npm чтобы тот игнорировал установку peerDependencies и продолжил установку без них

Решение, вариант №1

npm i somepackage --legacy-peer-deps

Решение, вариант №2

Если хотим по умолчанию использовать такое поведение - Указать в файлике .npmrc в корне проекта (если его нет, то создать)

legacy-peer-deps=true

Полезные ссылки

Как понять куда глобально (-g) устанавливаются модули?

npm root -g