运行npm list --depth=0 之后 报 extraneous
的错
原因: 有node_modules文件夹下的安装包,没有列在package.json中
npm list 命令会去对比package.json文件和node_modules文件夹来列出其中的安装包
如果有一个包没有列在package.json中,它就会被标记为extraneous
在npm 4及以下版本,在npm install 的时候需要加 --save 来将其加到package.json中,这也是以前会经常有包被标记为 extraneous,因为大家经常会忘记加--save,导致包在node_modules中,但不在package.json中
自从npm 5版本以来,npm install 不需要加-- save ,也会自动将其列到package.json中
解决方法:
1. 确认npm 版本是否为5及以上,没有的话进行升级
2. 删除node_modules文件夹, 再运行npm install
3. 再 npm list ,将extraneous对应的包通过npm install <package name>加入到package.json中。