【问题标题】:Heroku Build Failing Due To Code Integrity由于代码完整性,Heroku 构建失败
【发布时间】:2020-06-29 05:53:36
【问题描述】:

我在 Heroku 上部署了一个应用程序,直到昨天我都没有遇到重新部署它的问题。

我必须升级 package-lock.json/yarn.lock 文件中的一个依赖项,在尝试将其上传到 Heroku 时,我得到以下信息:

 Node.js app detected
 remote:
 remote: -----> Creating runtime environment
 remote:
 remote:        NPM_CONFIG_LOGLEVEL=error
 remote:        NODE_ENV=production
 remote:        NODE_MODULES_CACHE=true
 remote:        NODE_VERBOSE=false
 remote:
 remote: -----> Installing binaries
 remote:        engines.node (package.json):  10.15.x
 remote:        engines.npm (package.json):   6.14.x
 remote:
 remote:        Resolving node version 10.15.x...
 remote:        Downloading and installing node 10.15.3...
 remote:        Bootstrapping npm 6.14.x (replacing 6.4.1)...
 remote:        npm 6.14.x installed
 remote:
 remote: -----> Installing dependencies
 remote:        Installing node modules (package.json + package-lock)
 remote:        npm ERR! code EINTEGRITY
 remote:        npm ERR! sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= integrity checksum failed when using sha1: wanted sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= but got sha512-rIqbOrKb8GJmx/5bc2M0QchhUouMXSpd1RTclXsB41JdL+VtnojfaJR+h7F9k18/4kHUsBFgk80Uk+q569vjPA== sha1-sAoAIwoRCMSMFp5popGq/aOqzWM=. (7897 bytes)
 remote:
 remote:        npm ERR! A complete log of this run can be found in:
 remote:        npm ERR!     /tmp/npmcache.P3BnU/_logs/2020-03-18T06_17_36_985Z-debug.log
 remote:
 remote: -----> Build failed
 remote:
 remote:        We're sorry this build is failing! You can troubleshoot common issues here:
 remote:        https://devcenter.heroku.com/articles/troubleshooting-node-deploys
 remote:
 remote:        If you're stuck, please submit a ticket so we can help:
 remote:        https://help.heroku.com/
 remote:
 remote:        Love,
 remote:        Heroku
 remote:
 remote:  !     Push rejected, failed to compile Node.js app.
 remote:
 remote:  !     Push failed

我意识到问题出在这一行:

npm 错误!代码完整性 远程:npm 错误!使用SHA1当SHA1-HX / Kv8M5fSYluCKCYuhqp6ARsF0 =完整性校验失败:想SHA1-HX / Kv8M5fSYluCKCYuhqp6ARsF0 =却得到了SHA512-rIqbOrKb8GJmx / 5bc2M0QchhUouMXSpd1RTclXsB41JdL + VtnojfaJR + h7F9k18 / 4kHUsBFgk80Uk + q569vjPA == SHA1-sAoAIwoRCMSMFp5popGq / aOqzWM =。 (7897 字节)

但我不知道它为什么现在发生或触发它的原因(因为它以前没有发生过)。

我已经尝试在线搜索和clearing the cache,阅读Heroku's Node.js Troubleshooting,在我的 package.json 文件中添加一个引擎密钥来指定 node/npm 版本,但没有任何效果。

我没有在我的开发环境中升级了 Node/NPM,所以这些版本是相同的。

【问题讨论】:

  • git rm package-lock.json 提交并重试。问题可能是有人在相同版本下重新发布了他们的库并生成了新的哈希。该哈希将不再匹配。
  • @TinNguyen - 我读到删除 package-lock.json 只是一个修复,但不是解决方案,因为我需要再次将它添加到我的项目中。
  • 您可以打开您的 package-lock.json 并查找有问题的 sha512 值。但不建议手动编辑。再次重新安装有问题的包,你应该有正确的哈希值。
  • @TinNguyen - 我卸载并重新安装了依赖项。那成功了。谢谢

标签: heroku build


【解决方案1】:

根据@TinNguyen 的评论,我执行了以下命令:

npm uninstall package_name

然后:

npm install package_name

这似乎解决了问题。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题并修复了它。 可能你有 npm 漏洞,如果你不能全部修复它们 尝试升级 package.json 中的所有软件包 有用的工具是

    npm install -g npm-check-updates

    然后

    ncu --upgrade

    然后

    npm install

    确保在 npm install 之前删除 package-lock.json

    【讨论】:

      【解决方案3】:

      我只是删除了 package-lock.json 和 npm 模块,然后运行 ​​npm install。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-08-12
        • 2022-07-28
        • 2011-12-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-20
        相关资源
        最近更新 更多