【问题标题】:Can't get last version of NPM working无法让最新版本的 NPM 工作
【发布时间】:2020-09-13 05:50:45
【问题描述】:

我正在尝试将 npm 更新到最新版本,因为我使用的是 1.4.28。 使用:

npm update -g npm

我得到以下输出:

npm@1.3.26 C:\Users\ck\AppData\Roaming\npm\node_modules\npm-check-updates\node_modules\npm
npm@2.1.5 C:\Users\ck\AppData\Roaming\npm\node_modules\ember-cli\node_modules\npm

然后运行

npm -v

我可以看到我还在使用 1.4.28;我无法理解尝试更新后得到的输出,因为它在谈论 1.3.26 和 2.1.5,但我安装了 1.4.28??

我在 Windows 上,我已经尝试卸载并重新安装节点;

【问题讨论】:

  • 您更新的npm 安装是其他模块的依赖项——npm-check-updatesember-cli。这些模块可能会对它们支持的npm 版本有限制。
  • 好的,谢谢你的澄清;但是为什么 npm update -g npm 没有将我使用的版本从 1.4.28 更新到 2.1.0?它从哪里来的 1.4.28 版?
  • 对于 Windows,npm 通常不会置于全局 root 之下,它可以自行管理。它通常在Program Files 下。您可以使用 npm -g rootgcm npm | select source (PowerShell) 进行检查。
  • 感谢这解决了问题:npm (1.4.28) 安装在 c:\programs\nodejs 中,而 npm 根目录在其他地方
  • 那么,您实际上是如何更新 npm 的?我处于同样的情况,更新 npm 或重新安装节点让我处于 1.4.28;我的 npm 根是“C:\Windows\system32\node_modules”,我的 npm -g 根是“C:\Users\\AppData\Roaming\npm\node_modules”,但我不清楚要做什么使用该信息。

标签: node.js npm


【解决方案1】:

来自此页面:https://github.com/npm/npm/wiki/Troubleshooting

on windows:
            Option 1:
              edit your Windows installation's PATH to put C:\Users\<username>\AppDa\Roaming\npm before
     C:\Program Files (x86)\nodejs. Remember that you'll need to restart cmd.exe (and potentially restart Windows) when you make changes to PATH or how npm is installed.

            Option 2: remove both of before updating
                C:\Program Files (x86)\nodejs\npm
                C:\Program Files (x86)\nodejs\npm.cmd

            Option 3: navigate to C:\Program Files (x86)\nodejs 
               with cmd.exe and then run the installation without -g:
               npm install npm

on linux:
npm install -g npm@latest

【讨论】:

  • 对于 Windows 上的选项 3 - 以管理员身份运行 cmd。
【解决方案2】:

为了安装最新的 npm,您将运行:

npm install -g npm@latest

如果您安装了多个npm 命令,您还需要确保您使用的是最新的(而不是与node 一起安装的原始npm)。

试试这个:

which -a npm

根据您对上述命令的发现,您可能需要调整您的 PATH 环境变量。

【讨论】:

  • 这非常令人困惑,它是在 npm 中嵌套了 npm 的安装,还是真的在 OS 中全局更新了 npm 的安装?无论如何,我得到/usr/local/lib/iojs-v3.3.1-linux-x64/bin/npm -&gt; /usr/local/lib/iojs-v3.3.1-linux-x64/lib/node_modules/npm/bin/npm-cli.js npm@2.14.3 /usr/local/lib/iojs-v3.3.1-linux-x64/lib/node_modules/npm 。安装和升级 io.js 可能效果不佳。难道只有我一个? :)
  • 你的$PATH中有/usr/local/lib/iojs-v3.3.1-linux-x64/bin吗?
【解决方案3】:

终于可以更新npm了。有点不合作的家伙哇!尝试先安装/更新 nom npm install -g nom@latest 然后 npm install -g npm@latest 在管理员级别的控制台/windows 命令上。

从 1.4.28 到 2.1.7

很奇怪,但它对我有用!

【讨论】:

  • 第一次安装 -g *nom*@latest 是故意的,还是错字。似乎 nom 真的是一个东西,一个用于服务器端的 jquery 实现,但我怀疑你的意思是这里。
【解决方案4】:

在 Windows 上,您可能需要同时检查用户路径和系统路径。如果C:\Program Files\nodejs\;出现在系统路径和C:\Users\&lt;username&gt;\AppData\Roaming\npm中,那么npm将引用C:\Program Files\nodejs\;中的版本。这对我来说是个问题,通过将C:\Program Files\nodejs\; 放在用户路径的末尾并将其从系统路径中删除来解决。更改路径后不要忘记重新启动终端。虽然在帮助我找到问题方面很有用,但 baaroz 的解决方案都不适用于我的情况。

【讨论】:

    【解决方案5】:

    我删除了这个文件夹 C:\Users\AppDa\Roaming\npm 和 C:\Users\AppDa\Roaming\npm-cache 并且 node.js 安装并且能够拥有npm 的更新版本

    【讨论】:

      猜你喜欢
      • 2019-12-03
      • 2017-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多