ngrx/store@6.1.0 在升级到 Angular 7 时需要 @angular/core@^6.0.0 的对等体

Posted

技术标签:

【中文标题】ngrx/store@6.1.0 在升级到 Angular 7 时需要 @angular/core@^6.0.0 的对等体【英文标题】:ngrx/store@6.1.0 requires a peer of @angular/core@^6.0.0 while upgrading to angular 7 【发布时间】:2019-03-29 10:35:47 【问题描述】:

我尝试将 Angular 6 应用程序迁移到 Angular 7 应用程序并收到以下警告消息

npm WARN @ngrx/effects@6.1.0 requires a peer of @angular/core@^6.0.0 but none is installed.
You must install peer dependencies yourself.
npm WARN @ngrx/store@6.1.0 requires a peer of @angular/core@^6.0.0 but none is installed.
You must install peer dependencies yourself.

这是什么意思?

是不是说 angular 7 没有兼容的商店?

我的商店会不工作吗?

【问题讨论】:

升级过程中当前安装的库是 @angular/core 7.0 。这是否意味着我需要降级 【参考方案1】:

更新:

NgRx 已更新至 6.1.2 以解决错误并与 Angular 7 兼容。

所以根据https://github.com/ngrx/platform/issues/1397,您可以忽略对等依赖项,它应该适用于 Angular 7。

安装:

npm install @ngrx/store@6.1.2

如果您想摆脱这些警告,您可以使用@ngrx/store@7,通过这种方式安装Nightly builds

npm install github:ngrx/store-builds

然后你需要在你的系统中安装 git。

但请记住,@ngrx/store@7 仍然是测试版。

在上面给出的链接中,他们升级到NgRx 6.1.2 的原因是@ngrx/router-store 有一个角度为 7 的错误。

因此升级到 NgRx 6.1.2 使其可用并与 Angular 7 兼容,您可以忽略对等依赖项。

【讨论】:

升级过程中当前安装的库是 @angular/core 7.0 。这是否意味着我需要降级 是否需要降级 angular/core 版本才能使用 ngrx.没有意义 如果您需要使用ngrx/store@6.1.0,那么您必须安装所需的角芯。卸载您当前的 Angular 核心库,然后安装 @angular/core@6.0.0 如果我安装了@angular/core@6.0.0,那么其他包都会受到影响。那么降级所有包有什么用。基本思路是升级到最新的 How do I deal with installing peer dependencies in Angular CLI?【参考方案2】:

你应该可以用下面的命令解决,

 ng update @ngrx/store --next --force

【讨论】:

我试过这个。我仍然收到相同的警告。@ngrx/store@6.1.2 需要 @angular/core@^6.0.0 的对等体,但没有安装 使用 npm install @ngrx/store@6.1.2

以上是关于ngrx/store@6.1.0 在升级到 Angular 7 时需要 @angular/core@^6.0.0 的对等体的主要内容,如果未能解决你的问题,请参考以下文章

C第六课

C第九课

C第五课

C第二课

C第一课

C第十三课