Отчеты об угловой сборке (yarn ng build --prod [...]
):
@angular/compiler-cli@7.2.8 requires typescript@'>=3.1.1 <3.3' but 3.3.3333 was found instead.
Using this version can result in undefined behaviour and difficult to debug problems.
Please run the following command to install a compatible version of TypeScript.
npm install typescript@">=3.1.1 <3.3"
To disable this warning run "ng config cli.warnings.typescriptMismatch false".
Мой package.json сообщает:
[...]
"resolutions": {
"typescript": "3.2.4"
}
[...]
npmvet
сообщает, что typescript
установленная версия 3.3.3333;требуется версия 3.2.4, и этот пакет не заблокирован.
Если я пропущу пряжу и вместо этого запусту npm install
, он правильно установит 3.2.4 (хотя и не привязан к нему, согласно npmvet).
Почему resolutions
не работает в этом случае?
Есть ли лучший способ настроить среду с повторяемыми узлами, в которой как npm, так и пряжа будут использовать версию, соответствующую пересечение всех требуемых версий?
В моем проекте typescript
требуется как для 3.2.4, так и для ^ 3.2.4 (что делает 3.2.4 идеальным соответствием).Почему в этом случае пряжа и npm не используют 3.2.4?
(я понимаю, что некоторые требования не имеют пересечения, например, node-sass@4.11.0 и node-sass@4.9.3; как это сделать?вы решаете такие вопросы?)