пряжа настаивает на загрузке последней машинописной копии, несмотря на то, что ее "фиксируют" - PullRequest
0 голосов
/ 11 марта 2019

Отчеты об угловой сборке (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; как это сделать?вы решаете такие вопросы?)

...