V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
wtfedc
V2EX  ›  问与答

请教个 npm 下载不下来 package,导致 integrity checksum failed 的问题

  •  
  •   wtfedc · 248 天前 · 869 次点击
    这是一个创建于 248 天前的主题,其中的信息可能已经有所发展或是发生改变。

    场景

    项目没有包相关的变动,再跑流水线时候,执行npm ci报错:

    npm ERR! code EINTEGRITY
    npm ERR! Verification failed while extracting [email protected]:
    npm ERR! Verification failed while extracting [email protected]:
    npm ERR! sha1-9B3LGvJYKvNpLaNvxVy9jhBBxCY= integrity checksum failed when using sha1: wanted sha1-9B3LGvJYKvNpLaNvxVy9jhBBxCY= but got sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw== sha1-Z79X9HWPAu3oj7KhcS/vTRU1i+M=. (649719 bytes)
    npm WARN tarball tarball data for [email protected] (sha1-P17WZYPM1vQAtaANtvfoYTY+OI8=) seems to be corrupted. Trying one more time.
    npm WARN tarball tarball data for [email protected] (sha1-P17WZYPM1vQAtaANtvfoYTY+OI8=) seems to be corrupted. Trying one more time.
    

    package-lock.json 片段:

    "fsevents": {
          "version": "1.2.4",
          "resolved": "http://registry.npm.taobao.org/fsevents/download/fsevents-1.2.4.tgz",
          "integrity": "sha1-9B3LGvJYKvNpLaNvxVy9jhBBxCY=",
          "optional": true,
          "requires": {
            "nan": "^2.9.2",
            "node-pre-gyp": "^0.10.0"
          },
          "dependencies": {
            "abbrev": {
              "version": "1.1.1",
              "bundled": true,
    

    从 resolved 地址下载下来,用 sha1+base64 计算后,和 integrity 是一致的。 看网上有人说网络问题也会导致 integrity 不一致,但是我手动下载包挺快的,难道我手动从 resolved 地址下载,和 npm 的下载机制不一样?

    直接删掉 package-lock.json ,装新版本倒是可以,但是项目太老了,严重依赖这个版本 package-lock.json ,更新后会出现一堆别的问题。以前遇到过类似的情况,等个几天,传说中的网络情况好转后就正常了。关键不懂 npm 的机制,不太懂是哪到哪的网络不稳定。

    4 条回复    2023-09-01 14:35:46 +08:00
    Corolin
        1
    Corolin  
       248 天前
    忘了 node 的版本对这个有没有影响了
    wtfedc
        2
    wtfedc  
    OP
       248 天前
    @Corolin node 也是老版本 10.22.1 ,一直没变过
    Corolin
        3
    Corolin  
       248 天前
    @wtfedc emmm 拿新的 sha512 的值填到 integrity 后面去。。。
    sputnick530L
        4
    sputnick530L  
       240 天前
    差不多上周 gitlab 的流水线也遇到这个问题,当时还以为是网络问题,今天才发现那之后所有都没跑通,然后本地 npm install 了一下,发现提示到这里看原因 https://github.com/advisories/GHSA-xv2f-5jw4-v95m , 说由于第三方回收了过期的云存储资源,fsevents v1.0.0 <= v1.2.10 下载的二进制可执行文件包含意外代码,建议升级到 1.2.x ,具体的我比较菜,也不太懂,希望有帮助^ ^
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5133 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 09:42 · PVG 17:42 · LAX 02:42 · JFK 05:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.