将 RxJS 升级到最新版本的正确方法?

Right way to upgrade RxJS to latest version?

尝试安装最新版本的 RxJS 时,

我按照本文档中的说明使用了 npm install rxjshttps://github.com/reactivex/rxjs

但是我收到了这些警告:

npm warn @angular/common@5.1.0 requires a peer of rxjs@^5.5.0 but none is installed.

You must install peer dependencies yourself.

所以看起来 RxJS 升级了,但没有升级到最新版本。

在输出中我们看到有一个最新版本是 RxJS 5.5.0

有没有更好的npm命令行升级到最新版本?

编辑 2020

强制升级任何包的最简单方法是将 @latest 附加到所需的包。

在我们的用例中它将是

npm install rxjs@latest

这会强制您当前的设置安装可用的最新稳定版本。

请记住,最新版本可能并不总是与所有正在使用的库兼容。如果由于兼容性问题需要特定范围,您应该安装特定版本(例如用于用例)

npm install rxjs@5.5.0

在之前的回答中,它也包含了 -g 标志。这将(对于任何 npm 包安装)在您的系统中全局安装指定的包,而不仅仅是在当前项目中

上一个答案

您总是可以通过执行

来尝试强制使用该版本
npm install -g rxjs@5.5.0

或者您可以采用更现代的方法并使用 yarn :)

注意

自从 npm 5.x 发布以来,关于 yarn 的评论不再一定是正确的:)

Npm 告诉您它已找到最新版本 5.5.0,但您的 angular 5.1 版本与 RxJs@5.5.0 不兼容,因此它会回退到最后一个兼容版本。同时升级您的 angular 版本,以便您可以利用两者的功能 您可以使用 npm install -g @angular/cli@latest 安装最新的 angular 安装后你需要在你的项目中运行 npm update

最新的 rxjs 似乎有问题。您可以更改为另一个 rxjs 版本,如下所示:

npm install rxjs@6.0.0 --save