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

标签 node.js npm homebrew nvm

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

由于我的 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版本“固定”到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/

相关文章:

javascript - Angular 4 ngFor

javascript - Electron 在树莓派上不起作用

python - 如何在 NPM 安装期间使用不同版本的 python?

ffmpeg - 如何将 flv 转换为 mp4/mkv?

javascript - 如何在GET方法中检查用户身份验证?

node.js - 在 Mocha 和 super 测试中保持快速应用程序 session

xcode - High Sierra 上的 Home-brew 安装失败

postgresql - brew uninstall OSX 后完全删除 postgres

node.js - 将流写入缓冲区对象

angular - 如何使用 maven-exec-plugin 进行 npm clean?