问题说明

Jenkins构建前端安装依赖报错:

npm ERR! code EINTEGRITY
11:05:42 npm ERR! sha512-IJy2B5Ot9wIAGwjSKF94+8yhVCQUDBT4myzlswuJSNPcLcn3Jna3yPNOmp/mbXfPPSNFwV9td/8jadAPesUn7g== integrity checksum failed when using sha512: wanted sha512-IJy2B5Ot9wIAGwjSKF94+8yhVCQUDBT4myzlswuJSNPcLcn3Jna3yPNOmp/mbXfPPSNFwV9td/8jadAPesUn7g== but got sha512-DqWOWyL129Y56DPwO3VYTkcjILCS5szGZEaGgGVqdzBjCWiqVd2MqWDhnCvUpeSmXqnDV1uNlSpOIawwW/k8/Q==. (923576 bytes)

查了网上的一些说明,有的说可以删除package-lock.json重新安装可解决,而我这个是公司封装的前端工具做的,看不到这个文件。

问题分析

EINTEGRITY 错误码表示在npm缓存中无法找到 指定sha512校验合的模块,得到的却是另一个。就好比你在桌子上放了块蛋糕被人换成了果汁,你还按蛋糕的信息去找肯定得不到蛋糕。

出现这个问题的原因是缓存不一致,一般安装前端依赖时的package-lock.json会记录每个依赖的文件校验和,再安装依赖时如果出问题就是缓存变了而package-lock.json还是旧的,常见于全局缓存。

还有一个就是有一个依赖在全局缓存和当前项目缓存(node_modules)中都存在但版本不同,缓存校验和对不上。

所以解决办法应该有两种:1、删除记录检验和的记录文件 2、清理缓存

解决方案

方案1 删除package-lock.json

适用于当前构建目录有package-lock.json文件,删除它,然后重新安装前端依赖即可。

方案2 缓存校验

npm cache verify

后边会解释它的作用。校验完后重新安装前端依赖即可。

方案3 强制缓存清理

npm cache clean --force

后边会解释它的作用。校验完后重新安装前端依赖即可。

官方文档怎么说

https://docs.npmjs.com/cli/v6/commands/npm-cache

根据npm v6的文档,可以简单理解npm缓存是安装依赖时就缓存,也可以自己去添加缓存,它本身不保证缓存的可靠性,也就是说如果能发现缓存就直接取。而且npm不会自主删除缓存,这就导致缓存目录会随着安装依赖的增多而变大,有损坏的内容也不会自动删除。

有损坏的内容或者缓存需要校验时,可以执行 npm cache verify 校验缓存目录的内容,清理不需要的数据,验证缓存索引与缓存数据的完整性。

比较强制的办法就是直接删除缓存目录所有数据,对应的命令是 npm cache clean --force

(本文完)

【问题解决】npm ERR! code EINTEGRITY的更多相关文章

  1. 安装Vue2的devtools发生错误npm ERR! code EINTEGRITY npm ERR! sha1-HTFDXrRzR2Ew8Bv9zlMSCVgPsS0= integrity checksum failed when using sha1: wanted sha1-HTFDXrRzR2Ew8Bv9zlMSCVgPsS0= but got sha1-Z6BeTMF4nhAO6h5A

    1.github下载地址:https://github.com/vuejs/vue-devtools 2.下载好后进入vue-devtools-master工程  执行npm install ---- ...

  2. npm ERR! code EINTEGRITY npm! ERR! shal-

    npm ERR! code EINTEGRITY npm ERR! sha1-nbqdpC/e8IOA7poHctXL5+bVXsE= integrity checksum failed when u ...

  3. npm install出错,npm ERR! code EINTEGRITY npm ERR! Verification failed while extracting url-parse@1.4.3

    npm install时出现以下错误: npm ERR! code EINTEGRITY npm ERR! Verification failed while extracting url-parse ...

  4. 执行npm install报错:npm ERR! code EINTEGRITY

    命令行执行npm install报错如下: D:\frontend\viewsdev>npm install npm ERR! code EINTEGRITY npm ERR! sha512-8 ...

  5. npm ERR! code EINTEGRITY npm ERR! sha1- 报错解决办法

    npm ERR! code EINTEGRITY npm ERR! sha1- 报错日志 npm ERR! code EINTEGRITY npm ERR! sha1-OGchPo3Xm/Ho8jAM ...

  6. npm install 报错:ERR! code EINTEGRITY 解决方案

    npm升级后,npm install 报错了,报错信息:ERR! code EINTEGRITY到处百度搜索解决方案,终于找到了!“npm cache verify”这条命令帮助了不少人 npm ca ...

  7. npm ERR! code ENOENT

    npm ERR! path F:\VsCodeWorkspace\labWeb\front\LabWebAdminFrontEnd\node_modules\core-jsnpm ERR! code ...

  8. 解决NPM无法安装任何包的解决方案(npm ERR! code MODULE_NOT_FOUND)

    前言 今天突然发现npm无法使用了,执行任何命令都报如下错误: npm ERR! code MODULE_NOT_FOUND npm ERR! Cannot find module 'internal ...

  9. npm ERR! code: 'EPERM' (权限问题 errro permit)

    PS C:\Users\user\Desktop\test\my-project> npm run iview --save npm ERR! missing script: iview npm ...

随机推荐

  1. MySQL数据库4

    内容概要 查询关键字 查询关键字之having过滤 查询关键字之distinct去重 查询关键字之order by排序 查询关键字之limit分页 查询关键字之regexp正则 多表查询思路 可视化软 ...

  2. VTK 在WINDOWS上的安装使用

    参考:http://www.vtk.org/Wiki/VTK/Building/Windows#Step_5_-_Open_the_Visual_Studio_project

  3. pytorch 中 repeat 和 expend 的功能和区别

    功能 均是用于扩展张量的维度 区别 tensor.expand(*sizes) 将张量中单维度(singleton dimensions,即张量在某个维度上为1的维度,exp(1,2,3),其中在第一 ...

  4. 实现领域驱动设计 - 使用ABP框架 - 创建实体

    用例演示 - 创建实体 本节将演示一些示例用例并讨论可选场景. 创建实体 从实体/聚合根类创建对象是实体生命周期的第一步.聚合/聚合根规则和最佳实践部分建议为Entity类创建一个主构造函数,以保证创 ...

  5. Linux 源码编译安装软件

    程序包编译安装的步骤: 源代码-->预处理-->编译-->汇编-->链接-->执行 多文件:文件中的代码之间,很可能存在跨文件依赖关系 1.编译源码的项目工具 使用相关的 ...

  6. Oracle 创建表空间及用户授权、dmp数据导入、表空间、用户删除

    1.创建表空间 // 创建表空间 物理位置为'C:\app\admin\oradata\NETHRA\NETHRA.DBF',初始大小100M,当空间不足时自动扩展步长为10M create tabl ...

  7. 【Java面试】RDB 和 AOF 的实现原理、优缺点

    Hi,大家好,我是Mic. 一个工作了5年的粉丝私信我,最近面试碰到很多Redis相关的问题. 其中一个面试官问他Redis里面的持久化机制,没有回答得很好. 希望我帮他系统回答一下. 关于Redis ...

  8. Timer和ScheduledThreadPoolExecutor的区别

    Timer 基于单线程.系统时间实现的延时.定期任务执行类.具体可以看下面红色标注的代码. public class Timer { /** * The timer task queue. This ...

  9. 机器学习基础:用 Lasso 做特征选择

    大家入门机器学习第一个接触的模型应该是简单线性回归,但是在学Lasso时往往一带而过.其实 Lasso 回归也是机器学习模型中的常青树,在工业界应用十分广泛.在很多项目,尤其是特征选择中都会见到他的影 ...

  10. (零)机器学习入门与经典算法之numpy的基本操作

    1.根据索引来获取元素* 创建一个索引列表ind,用来装载索引,当numpy数据是一维数据时:一个索引对应的是一个元素具体的例子如下: import numpy as np # 数据是一维数据时:索引 ...