在执行npm ls -g时发现输出遗漏了几个已安装的包,如下图:

npm ls -g --depth=0

npm ls -g

列表中缺少了webpack、eslint、typescript三个。但在执行npm outdated -gnpm up -g时,却能正常覆盖所有已安装的包。好奇之下,搜索了相关问题,无解。却无意中发现一个参数,即如:npm ls -g eslint,却是能列出相关信息的:

npm ls -g eslint

同时,执行eslint -v,版本也是匹配的:

eslint -v

其余两个包也类似:

npm ls -g typescript

npm ls -g webpack

至此,大致可以断定,在npm的依赖关系中,存在被依赖的,是作为其他模块的次级包显示在树状结果列表中。如需显示完整的全局安装模块列表,可以执行如:npm ls -g –depth=1等改变列表深度。