首页 > 解决方案 > npm 位于 Windows 10 上的两个不同目录中

问题描述

我只是在 Windows 10 上升级我的npm版本时5.0.0遇到了麻烦。6.4.1

我所做的只是下载 NodeJS(最新)安装程序,即8.12.0(它包括npm 6.4.1)。它已成功安装,但是当我npm -v仍然在版本上5.0.0时,它只更新了node部分。

然后我按照这个指令(链接),基本上它使用npm包调用npm-windows-upgrade,第一次尝试它抛出了很多错误

基本上我必须执行几个周期的 NodeJS 卸载、NodeJS 重新安装和执行npm-windows-upgrade,几次之后它终于成功(运气),现在我npm6.4.1. 但是,当我where npm在终端上运行时,它列出了我的文件的两个位置:npm

C:\WINDOWS\system32>where npm
C:\Program Files\nodejs\npm
C:\Program Files\nodejs\npm.cmd
C:\Users\XXX\AppData\Roaming\npm\npm
C:\Users\XXX\AppData\Roaming\npm\npm.cmd

这有点奇怪,它应该只列出一个位置,即C:\Program Files\nodejs\..但显然我也有npm目录AppData\Roaming为什么会这样? 我应该删除第二个吗?

PS - 如果我运行where node,它只列出一个位置,即:

C:\WINDOWS\system32>where node
C:\Program Files\nodejs\node.exe

标签: node.jsnpm

解决方案


C:\Users\xxx\AppData\Roaming\npm是当前用户的节点包的位置,C:\Program Files\nodejs\而是所有用户的安装目录。

看看有什么C:\Users\XXX\AppData\Roaming\npm\npm.cmd -v回报。如果它和你一样,npm -v那么你很好。

您可以在没有安装程序的情况下运行 node,在这种情况下C:\Program Files\nodejs\不会在 PATH 中(对于系统环境变量),但是所有全局包都将放在C:\Users\XXX\AppData\Roaming\npm\. 由于 npm 是一个全局包,所以它出现在那里。

TL;DR 无需任何操作。


推荐阅读