一些问题和答案暗示有答案,但我认为我在森林中没有看到答案。
由于我的 IDE 从启动器加载 $PATH
的方式,我转向 brew
来摆脱 nvm
。似乎无法从 .nvm
目录中找到已安装的 node
或 npm
版本。当从 /usr/local/bin
加载时,IDE 工作正常。添加 brew
具有 nvm
-lite 功能以及 brew link --force [version]
。
但是,brew
不做的是管理npm
(至少做得很好)。在 brew
板上对此有一些讨论,但只是建议 brew
不需要管理 npm
。
因此,brew install node
为我提供了 node 7.7.2
和 npm 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
版本“固定”到node
版本/版本的明确声明。
除非有明确的声明,我可以在 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.
然后它继续告诉读者,运行npm install npm@latest -g
。
Test: Run
npm -v
. The version should be higher than 2.1.8.
言外之意
简单地说,安装 node
会在 node
发布时为您提供一个 npm
版本。 npmjs 建议在您方便时更新 npm
。
因此,使用 npm
v4.1.2 运行 node
v6.10.10 应该不是问题。至少没有记录在案的问题。
关于node.js - 为什么 `node` 将 `npm` 的版本固定到每个版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42764978/