Angular更新警告
Angular update warning
我刚刚更新了我的 angular 项目。一切似乎都很好,除了我收到以下警告:
npm WARN @angular-devkit/build-angular@0.800.2 requires a peer of typescript@>=3.1 < 3.5 but none is installed. You must install peer dependencies yourself.
npm WARN @angular/compiler-cli@8.0.0 requires a peer of typescript@>=3.4 <3.5 but none is installed. You must install peer dependencies yourself.
npm WARN @ngtools/webpack@8.0.2 requires a peer of typescript@>=3.4 < 3.5 but none is installed. You must install peer dependencies yourself.
我进入我的 package.json
并在 devDependencies
下我有以下内容:
"typescript": "~3.5.1",
所以我改成了:
"typescript": "^3.4.0",
然后我删除了 node_modules
和 运行 npm install
,但警告仍然存在。命令npm ls typescript
returns如下:
intergun@0.0.0 C:\Users\jbra\Programs\intergun
`-- @angular-devkit/build-angular@0.800.2
`-- @angular-devkit/build-optimizer@0.800.2
`-- typescript@3.4.4
所以看起来它确实使用了 3.4.4 版本的 typescript。应该满足警告中的要求。
这里有什么问题?我做错了什么吗?
use应该用~或者none。
当您使用波浪号 ~ 时,它将匹配指定次要版本(第二个数字)的最新补丁版本(第三个数字)。
~3.4.0 将匹配所有 3.4.x 版本。
当您使用插入符号 ^ 时,它匹配指定主要版本(第一个数字)的最新次要版本(第二个数字)。
那就是你将使用 ^3.x.x
Here's a visual explanation of the concepts:
我刚刚更新了我的 angular 项目。一切似乎都很好,除了我收到以下警告:
npm WARN @angular-devkit/build-angular@0.800.2 requires a peer of typescript@>=3.1 < 3.5 but none is installed. You must install peer dependencies yourself.
npm WARN @angular/compiler-cli@8.0.0 requires a peer of typescript@>=3.4 <3.5 but none is installed. You must install peer dependencies yourself.
npm WARN @ngtools/webpack@8.0.2 requires a peer of typescript@>=3.4 < 3.5 but none is installed. You must install peer dependencies yourself.
我进入我的 package.json
并在 devDependencies
下我有以下内容:
"typescript": "~3.5.1",
所以我改成了:
"typescript": "^3.4.0",
然后我删除了 node_modules
和 运行 npm install
,但警告仍然存在。命令npm ls typescript
returns如下:
intergun@0.0.0 C:\Users\jbra\Programs\intergun
`-- @angular-devkit/build-angular@0.800.2
`-- @angular-devkit/build-optimizer@0.800.2
`-- typescript@3.4.4
所以看起来它确实使用了 3.4.4 版本的 typescript。应该满足警告中的要求。
这里有什么问题?我做错了什么吗?
use应该用~或者none。 当您使用波浪号 ~ 时,它将匹配指定次要版本(第二个数字)的最新补丁版本(第三个数字)。 ~3.4.0 将匹配所有 3.4.x 版本。
当您使用插入符号 ^ 时,它匹配指定主要版本(第一个数字)的最新次要版本(第二个数字)。 那就是你将使用 ^3.x.x
Here's a visual explanation of the concepts: