node.js - 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
,几次之后它终于成功(运气),现在我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
目录AppData\Roaming
,为什么会这样? 我应该删除第二个吗?
PS - 如果我运行where node
,它只列出一个位置,即:
C:\WINDOWS\system32>where node
C:\Program Files\nodejs\node.exe
解决方案
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 无需任何操作。
推荐阅读
- regex - 正则表达式多个后视顺序
- php - PHP codeigniter 不返回对 POST 调用的响应
- linux - 尝试在linux中卷曲文件并赋予其执行权限然后移动它时的选项无效
- java - 是否可以恢复 PBKDF2 哈希密码?
- typescript - 如何在 Openlayers 中的 DragAndDrop 上使用 GeoJson 作为 Formatconstructor
- javascript - 我需要计算连续零的数量并用这样的计数更新新数组。每个这样的零块都必须单独计算
- python - 单列到多列,列作为标题并填充二进制值
- firebase - 如何动态地将一组地图添加到云火库中?
- r - dplyr 包中的不同功能
- html - 如何在html中的链接中嵌入源站地址?