Как вы читаете ошибку ERESOLVE аудита npm?

avatar
Boppity Bop
1 июля 2021 в 21:17
488
2
2

Я часто получаю сообщение об ошибке ERESOLVE, подобное приведенному ниже. Как вы это читаете?

>npm audit fix
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR! 
npm ERR! While resolving: myapp@0.0.0
npm ERR! Found: @angular/compiler@12.1.0
npm ERR! node_modules/@angular/compiler
npm ERR!   @angular/compiler@"12.1.0" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer @angular/compiler@"12.1.1" from @angular/compiler-cli@12.1.1
npm ERR! node_modules/@angular/compiler-cli
npm ERR!   dev @angular/compiler-cli@"^12.1.0" from the root project
npm ERR!   peer @angular/compiler-cli@"^12.0.0 || ^12.1.0-next" from @angular-devkit/build-angular@12.1.0
npm ERR!   node_modules/@angular-devkit/build-angular
npm ERR!     dev @angular-devkit/build-angular@"12.1.0" from the root project

А как вы это читаете - Какой пакет от чего зависит? Какой конец дерева я контролирую? Сверху или снизу?

Я добавил @angular-devkit/build-angular в свое приложение, но оно не может найти angular/compiler? или наоборот?

Источник
Zhi Lv
2 июля 2021 в 05:59
0

Похоже, вы столкнулись с проблемой конфликта зависимостей (неправильная и потенциально нарушенная зависимость), попробуйте запустить команду с --force или --legacy-peer-deps, например: npm audit fix --force. Если это не вступит в силу, временное решение использует предыдущие версии узла (понижение версии узла), поскольку иногда это приводит к возникновению таких ошибок. Ссылка: Невозможно устранить ошибку дерева зависимостей при установке пакетов npm.

Boppity Bop
3 июля 2021 в 12:49
0

это не то, что мне действительно нужно. Я отредактировал вопрос..

Ответы (2)

avatar
mike
23 июля 2021 в 11:08
1

Могу ошибаться, но вот что я прочитал:

Какой пакет зависит от какого?

Ваше приложение напрямую зависит от:

  • @angular/compiler@"12.1.0"
  • @angular/compiler-cli@"^12.1.0"
  • @angular-devkit/build-angular@"12.1.0"

Ваше приложение транзитивно зависит от:

  • @angular/compiler@"12.1.1" from @angular/compiler-cli@12.1.1 <- фактическая версия @angular/compiler-cli, установленная в вашем node_modules.
  • @angular/compiler-cli@"^12.0.0 || ^12.1.0-next" from @angular-devkit/build-angular@12.1.0 <- фактическая версия @angular-devkit/build-angular, установленная в вашем node_modules.

Итак, я прочитал, что существует конфликт, потому что ваше приложение напрямую зависит от @angular/compiler@"12.1.0" и транзитивно от @angular/compiler@"12.1.1" (от @angular/compiler-cli@12.1.1) Вероятно, вы можете исправить это, добавив отсутствующую каретку, например @angular/compiler@"^12.1.0".

.

Не имеет отношения ^, у меня была аналогичная проблема, но все версии были совместимы. Я удалил package-lock.json и node_modules и снова установил их, и все заработало нормально.

avatar
pafede2
15 сентября 2021 в 19:18
0

Я исправил это с помощью следующих команд:

  1. rm package-lock.json
  2. rm -rf node_modules
  3. установка пряжи
  4. npm i