为什么 `node` 将 `npm` 的版本固定到每个版本?

Why does `node` pin versions of `npm` to each release?

一些问题和答案暗示有答案,但我不认为我在森林里看到了答案。

由于我的 IDE 从启动器加载 $PATH 的方式,我转向 brew 离开 nvm。似乎无法从 .nvm 目录中找到 nodenpm 的已安装版本。当从 /usr/local/bin 加载时,IDE 工作正常。添加 brew 具有 nvm-lite 功能 brew link --force [version].

然而,brew 没有做的是管理 npm(至少很好)。 brew 板上对此有一些讨论,但只是建议 brew 不需要管理 npm

因此,brew install node 给了我 node 7.7.2npm 4.1.2。都好。

但是 brew unlink node && brew link node@6 给了我 node 6.10.0 而离开了 npm 4.1.2。而 nodejs.org suggests npm 3.10.10 是应该使用的 npm 版本。

现在,如果 node 固定 npm 的一个版本是有原因的,假设有充分的理由,原因是什么? 我可以'找不到任何东西。没有人在谈论这种联系。可能是我的 Google Fu,但我发现 a) 没有人知道,或者 b) 您使用的 npm 版本无关紧要。后者的推理似乎令人怀疑:如果无关紧要,为什么还要将 npm 的版本固定到 node

我想我正在寻找来自 nodejs 或 npmjs 的关于 npm 版本的 "pinning" 到 node version/release.[=22= 的明确声明]

除非明确声明,否则我可以读懂 npmjs 的字里行间:固定只是为了方便用户。

Node comes with npm installed so you should have a version of npm. However, npm gets updated more frequently than Node does, so you'll want to make sure it's the latest version.

然后它继续告诉 reader, 运行 npm install npm@latest -g.

Test: Run npm -v. The version should be higher than 2.1.8.

字里行间

简单地说,安装 node 会在 node 发布时为您提供 npm 的版本。 npmjs 建议在方便时更新npm

所以 运行ning node v6.10.10 和 npm v4.1.2 应该不是问题。至少不是记录在案的问题。