角度构建(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和yarn都使用符合所有必需版本的 intersection 的版本?
在我的项目中,同时需要typescript
作为3.2.4和^ 3.2.4(这使3.2.4成为一个完美的匹配)。为什么在这种情况下yarn和npm不使用3.2.4?
(我知道有些要求没有交叉点,例如node-sass@4.11.0和node-sass@4.9.3;您如何解决此类问题?)