#node.js #npm
#node.js #нпм
Вопрос:
сбой установки npm с приведенной ниже зависимостью «@angular-devkit /build-angular»: образец package.json
{
"name": "myApp",
"version": "0.0.1",
"devDependencies": {
"@angular-devkit/build-angular": "~0.1000.0"
}
}
Я использую node V15.5.1 npm v7.3.0
Я получаю следующие ошибки :
ОШИБКА npm! Найдено: typescript@4.0.5 нпм ОШИБАЕТСЯ! ошибка node_modules / typescript npm! одноранговый машинописный текст @»> = 3.9 <4.1″ из @angular/compiler-cli@10.2.4 нпм ОШИБАЕТСЯ! ошибка node_modules/@angular/compiler-cli npm! peer @angular/compiler-cli@»> = 10.0.0-next.0 < 11″ из @angular-devkit/build-angular@0.1000.8 нпм ОШИБАЕТСЯ!
ошибка node_modules/@angular-devkit/build-angular npm! ОШИБКА npm! Не удалось разрешить зависимость: ошибка npm! одноранговый машинописный текст @»> = 3.9 < 3.10″ из @angular-devkit/build-angular@0.1000.8 нпм ОШИБАЕТСЯ! node_modules/@angular-devkit/build-angular
не уверен, почему node / npm ищет typescript 4.0.5 вместо версии, которая может соответствовать обоим диапазонам. (одноранговый машинописный текст @»> = 3.9 <4.1″ и одноранговый машинописный текст @»> = 3.9 < 3.10″) работает ли это так, как ожидалось.
я могу запустить установку npm с флагом —legacy-peer-deps .
это проблема или она работает так, как задумано. почему npm не может выбрать версию, которая подходит для обоих случаев
Ответ №1:
Используйте LTS-версию node, в настоящее время 14.15.4. Изменение версии зависит от вашей ОС и диспетчера пакетов, но, по крайней мере, на macOS и Homebrew это выглядит так:
brew update
brew install node@14
brew link --overwrite node@14
Комментарии:
1. спасибо за ваш ответ. мне хотелось бы знать, это ожидаемое поведение в новых версиях или какая-то ошибка с npm.
2. Ах, хорошо, я понял, что вопрос был «как заставить это работать». Для меня это, безусловно, похоже на ошибку в npm и похоже на кого-то (вас?) сообщил об этом: github.com/npm/cli/issues/2510 Но в целом я думаю, что это хорошая идея — придерживаться LTS-версий при разработке angular.