npm位于Windows 10的两个不同目录中

时间:2018-10-20 20:04:46

标签: node.js npm

我在Windows 10上将npm版本从5.0.0升级到6.4.1时遇到了麻烦。

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

然后我遵循此说明(link),基本上它使用称为npm的{​​{1}}程序包,首先尝试抛出很多错误。 / p>

基本上,我必须执行几个周期的NodeJS卸载,NodeJS重新安装和执行npm-windows-upgrade,几次终于成功(运气)之后,现在我的npm-windows-upgradenpm但是,当我在终端上运行6.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为什么会这样?< / strong> 我应该删除第二个吗?

PS-如果我运行AppData\Roaming,它将仅列出一个位置,即:

where node

1 个答案:

答案 0 :(得分:0)

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

查看C:\Users\XXX\AppData\Roaming\npm\npm.cmd -v返回什么。如果它与npm -v相同,那么就可以了。

您可以在没有安装程序的情况下运行节点,在这种情况下,C:\Program Files\nodejs\不会在PATH中(对于系统环境变量),但是所有全局软件包都将放在C:\Users\XXX\AppData\Roaming\npm\下。由于npm是全局软件包,因此适用于此。

TL; DR无需采取任何措施。