我在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-upgrade
在npm
。 但是,当我在终端上运行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
答案 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无需采取任何措施。