今天同事给了一个webpack的项目,我拿过来,npm install 突然出现报错了,并且报了一个奇怪的错误,
如下所示,
Unexpected end of JSON input while parsing near ‘--- “https:// github.com/w”’,
安装依赖从来没有失败过,我就和同事说了一下,是不是项目的依赖有问题,他说没有问题,他的项目都已经跑起来,问了一下其它同事,他们安装也没有这样的问题,这就有点无奈了,只有我一个人有问题。为了排查是哪个依赖有问题,我把所有依赖都删除了,然后一个一个进行安装,到最后发现,竟然是webpack安装有问题,这有点接受不了,一个webpack的项目,竟然无法安装webpack, webpack 安装有问题,项目无法启动,根本无法进行下一步操作。一时之间,竟不知道怎么办了。
最后同事说,是不缓存有问题,因为以前npm 安装依赖从来没有出现问题,我也不知道有缓存的问题,然后使用命令清缓存. npm cache verify, 清缓存以后,安装webpack, 还是报同样的错误,同事也没有办法了。
这时,我想是不是node 的问题,重新把node 安装了一下,依然报同样的问题。这时打开了node 安装webpack依赖报错的日志,它有一个fetch 304, (from cache), 再加上同事说的缓存的问题,我非常肯定的确认是缓存的问题了。以前也看过日志,但不知道有缓存一说,也就没有太在意。
在网上找清缓存的办法,第一个就是 npm cache verify, 没有效果,还有一个方法npm cache clean --force, 还是没有作用,最后想到到底缓存放到什么地方,因为以前全局安装某个命令的时候,有一个AppData/roaming 的文件夹,里面放到就是npm 的命令, 这时搜了一下npm cache 存放的位置,也是在这个地方,C:\Users\{用户名}\AppData\Roaming\npm-cache, 找到这个文件夹后, 把整个文件夹全删除掉了,然后重新安装npm install, 报了一个错,rollbackFailedOptional, 吓死了,因为缓存的文件夹都有删除了还有问题,那就没有办法了,想的是只能重装系统了。赶紧搜了一下,是网络的问题,再重新npm install, 终于安装成功了,花了一上午的时间,第一次感觉到心累
原文出处:
npm 安装包失败 --- 清除npm缓存 - SamWeb -
博客园 https://www.cnblogs.com/SamWeb/p/10255937.html
原文地址:https://www.cnblogs.com/ning123/p/11290843.html