silly tarball trying saxen@^8.1.2 by hash: sha512-xUOiiFbc3Ow7p8KMxwsGICPx46ZQvy3+qfNVhrkwfz3Vvq45eGt98Ft5IQaA1R/7Tb5B5MKh9fUR9x3c3nDTxw==
error code EINTEGRITY
30647 error sha512-xUOiiFbc3Ow7p8KMxwsGICPx46ZQvy3+qfNVhrkwfz3Vvq45eGt98Ft5IQaA1R/7Tb5B5MKh9fUR9x3c3nDTxw== integrity checksum failed when using sha512: wanted sha512-xUOiiFbc3Ow7p8KMxwsGICPx46ZQvy3+qfNVhrkwfz3Vvq45eGt98Ft5IQaA1R/7Tb5B5MKh9fUR9x3c3nDTxw== but got sha512-5ezS/7eOFDdctlJCjzB3cpoUq8czlVdeb2JK82WFJ+oQPDkDyp2jbyl5hv4hAQEro5VmHye/uwr0gXAqYQI5Ww==. (16949 bytes)
30648 verbose exit [ 1, true ]
在用npm install时,开始时候找不到saxen@^8.1.2包,各种找原因,因为没有npm私服,
官方镜像
npm config set registry https://registry.npmjs.org/
淘宝镜像
npm config set registry https://registry.npm.taobao.org
来回切换。也没有解决。
网上找的方案:
方案一:一堆
1. 删除package-lock.json
2. npm cache clean --force (npm cache verify)
3. npm install
不管用!!!!!!!!!!!
方案二:一堆
说npm版本高了,npm版本低了。
试了把npm3 npm4 npm5 npm6都试过,同样毛用没有!!!!!!!!!!!
最后终于找到原因!
因为多项目依赖,自己搭建了一个npm私服(使用nginx、pm2、verdaccio)
之前saxen包找不到的时候,曾经把git上的项目clone下来,向自己npm私服publish过,没有publish成功。
因为自己的项目有公共依赖,需要把公共依赖publish到私服,所以连接的私服,如果私服没有包,再去阿里镜像或者官方镜像查找对应依赖。
因为saxen包在私服publish过,虽然没有成功,但是有记录,导入的依赖应该是自己私服上的,并且sha512和官方的不一致,导致每次npm install 都报错。
上边的方案一、二试过N次,Node也更换版本,折腾了一天多,心累。
最后,在本地saxen文件夹下执行npm unpublish,撤销发布。再在项目中执行npm install,执行通过~~~