npm问题集【持续更新】

随着Vue等前端框架的兴起,现在越来越多的项目采用前后端分离的模式进行开发。对于老吴这种有些年头的码农也带来了一些开发上问题,这篇文章主要记录再使用npm过程中的一些奇怪问题。前端传授了一个神技:清缓存->删node_modules->升级npm->升级node,这一套组合拳下来能解决绝大多数问题。不过还是写篇文章记录一下遇到的问题处理过程,以便下次遇到能快速接解决。

npm error code ERESOLVE问题解决

前端项目在执行npm install的时候报错了,异常信息如下:

npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree

解决方案

网上说是npm版本太高了。

参考:npm error code ERESOLVE问题解决

然后就对npm进行了降级,降级方法参照下文中npm降级

降级后确实没有再报code ERESOLVE的错误了,但是却报了新一个新的错误:code EINTEGRITY

npm降级

查看一下本机npm版本:

> npm version
{
  npm: '7.13.0',
  node: '14.17.0',
  ......
}

发现本地安装的是7.13.0版本的npm,执行降级语句,将版本变成6:

> npm install npm@6 -g
added 2 packages, removed 236 packages, and changed 3 packages in 24s

再次查看一下npm版本:

> npm version
{
  npm: '6.14.13',
  ......
}

npm error code EINTEGRITY问题解决

本以为解决了code ERESOLVE就可以启动项目了,结果报了下面这个错误:

npm ERR! code EINTEGRITY
npm ERR! sha512-v+U9OVSyF/qanqXrlZrMCY3EuYzXhetkXq5qMha6H3wOaZHlYTQyfPa5+P7bhUQDSlgjgx2GIZ6NB+uvieu2Zg== integrity checksum failed when using sha512: wanted sha512-v+U9
OVSyF/qanqXrlZrMCY3EuYzXhetkXq5qMha6H3wOaZHlYTQyfPa5+P7bhUQDSlgjgx2GIZ6NB+uvieu2Zg== but got sha512-7Qt1YlI12d+d60ZAhqqzC20dCmb2YR701bmuCG0bMECRJKiaNuoop0NbXQ9YxuYKSSXS
kz2JhN883d7Xm0IeJA==. (4299961 bytes)

解决方案

网上说是下载npm包是进行包的哈希检测导致的。

参考:解决code EINTEGRITY

这篇文章中的解决方案说是要删除node_modules目录啥的,但是我的项目里面没得。我估摸着他这个方案可能解决不了,有查到了另一个篇文章一条命令解决:

> npm install -g npm
> npm cache verify

参考:npm ERR! code EINTEGRITY 解决方案

结果,上述方法均为解决我的问题!!!!

究极解决方案

  1. 卸载nodejs
  2. 删除npm相关文件夹,我的目录在C:\Users\Administrator\AppData\Roaming下面,找到npmnpm-cache。删除,然后清除回收站。
  3. 重新安装nodejs
  4. 升级npm到最新版

这个问题有结论了(2021-7-6)

最后经排查为研发环境仓库中包有问题,由该包的开发团队重新提供包后得以解决。

替换步骤为:

  1. 删除本地node_modules中对应文件夹
  2. 将开发团队给的包替换进去
  3. 删除package-lock.json文件
  4. npm cache clean --force
  5. npm cache verify
  6. npm install --registry=xxxxxx --force

终于解决了。。。。。。

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×