npm ls发现有很多包没有安装?

vue2 + webpack3搭的一个练习。编译运行正常。

npm ls --depth=0查看时,发现有很多包没有安装:

clipboard.png

npm版本是5.6
请教一下这是什么原因?

阅读 4.3k
2 个回答
这个问题还是比较常见的,原因有很多,网络问题,或者模块目录被损坏,模块缓存问题,建议方法如下
  1. 切换镜像源使用淘宝的镜像,方法我就不多说了,自行百度,不过推荐使用nrm这个模块可以快速管理并切换镜像;基本就三个命名
nrm ls // 列表
nrm use <mirror name> // 使用
nrm test <mirror name> // 测试
  1. 然后删除你的node_modules模块文件,注意这个文件目录比较深,简单删除不了,使用使用一些工具,如 rimraf模块 执行rimraf node_modules
  2. 查看package.json文件看你须有的模块是否已经写在package.json中

最后执行 安装 npm install
如果此时还是安装出错,查看错误日志,以及清楚npm的缓存 npm cache clean
不过还是建议使用yarn

最近刚好遇到这种情况,这应该是在linux平台下的报错,在mac下没问题。
这是fsevents引起的问题。
webpack依赖chokidar,chokidar依赖fsevents,fsevents只能在macOS下安装,无法安装到linux系统。
这些报错的模块全是fsevents依赖的模块,一个也没安装上。
不过因为linux平台不需要fsevents,所以没有安装上也能正常运行。只是npm ls命令会列出这些模块,而且显示的还是Err,不用管这些错误。
这个问题在npm论坛有很多人遇到了,目前没有好的解决办法。即便目前最高版本的npm也没有解决这个问题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题