eas-cli icon indicating copy to clipboard operation
eas-cli copied to clipboard

Integrity hash mismatches when downloading sharp-libvips package in expo/eas deployment pipeline

Open ladyshaitan opened this issue 2 years ago • 2 comments

Build/Submit details page URL

https://expo.dev/accounts/rithmm/projects/rithmm-mobile/builds/83841b26-0738-4c10-832b-4956d99e831e

Summary

I'm consistently getting this integrity mismatch error when attempting to deploy an android build in the expo / eas development managed workflow. Screenshot 2023-05-20 at 11 35 22 AM

Output of npm why sharp

[email protected] dev
node_modules/appium-uiautomator2-driver/node_modules/sharp
  sharp@"^0.x" from [email protected]
  node_modules/appium-uiautomator2-driver/node_modules/appium-android-driver
    appium-android-driver@"^5.12.1" from [email protected]
    node_modules/appium-uiautomator2-driver
      dev appium-uiautomator2-driver@"^2.12.7" from the root project

[email protected] extraneous
node_modules/appium-xcuitest-driver/node_modules/sharp

[email protected] dev
node_modules/sharp
  sharp@"0.32.1" from @appium/[email protected]
  node_modules/@appium/support
    @appium/support@"^4.0.1" from @appium/[email protected]
    node_modules/@appium/base-driver
      @appium/base-driver@"^9.3.10" from @appium/[email protected]
      node_modules/@appium/base-plugin
        @appium/base-plugin@"^2.2.10" from [email protected]
        node_modules/appium
          dev appium@"^2.0.0-beta.57" from the root project
          peer appium@"^2.0.0-beta.48" from @appium/[email protected]
          node_modules/@appium/typedoc-plugin-appium
            @appium/typedoc-plugin-appium@"^0.6.4" from @appium/[email protected]
            node_modules/@appium/docutils
              @appium/docutils@"^0.3.13" from [email protected]
          peer appium@"^2.0.0-beta.40" from [email protected]
          node_modules/appium-uiautomator2-driver
            dev appium-uiautomator2-driver@"^2.12.7" from the root project
          peer appium@"^2.0.0-beta.48" from @appium/[email protected]
          node_modules/appium-uiautomator2-driver/node_modules/@appium/typedoc-plugin-appium
            @appium/typedoc-plugin-appium@"^0.6.3" from @appium/[email protected]
            node_modules/appium-uiautomator2-driver/node_modules/@appium/docutils
          peer appium@"^2.0.0-beta.40" from [email protected]
          node_modules/appium-uiautomator2-driver/node_modules/appium-android-driver
            appium-android-driver@"^5.12.1" from [email protected]
            node_modules/appium-uiautomator2-driver
              dev appium-uiautomator2-driver@"^2.12.7" from the root project
      @appium/base-driver@"^9.3.10" from [email protected]
      node_modules/appium
        dev appium@"^2.0.0-beta.57" from the root project
        peer appium@"^2.0.0-beta.48" from @appium/[email protected]
        node_modules/@appium/typedoc-plugin-appium
          @appium/typedoc-plugin-appium@"^0.6.4" from @appium/[email protected]
          node_modules/@appium/docutils
            @appium/docutils@"^0.3.13" from [email protected]
        peer appium@"^2.0.0-beta.40" from [email protected]
        node_modules/appium-uiautomator2-driver
          dev appium-uiautomator2-driver@"^2.12.7" from the root project
        peer appium@"^2.0.0-beta.48" from @appium/[email protected]
        node_modules/appium-uiautomator2-driver/node_modules/@appium/typedoc-plugin-appium
          @appium/typedoc-plugin-appium@"^0.6.3" from @appium/[email protected]
          node_modules/appium-uiautomator2-driver/node_modules/@appium/docutils
        peer appium@"^2.0.0-beta.40" from [email protected]
        node_modules/appium-uiautomator2-driver/node_modules/appium-android-driver
          appium-android-driver@"^5.12.1" from [email protected]
          node_modules/appium-uiautomator2-driver
            dev appium-uiautomator2-driver@"^2.12.7" from the root project
    @appium/support@"^4.0.1" from @appium/[email protected]
    node_modules/@appium/base-plugin
      @appium/base-plugin@"^2.2.10" from [email protected]
      node_modules/appium
        dev appium@"^2.0.0-beta.57" from the root project
        peer appium@"^2.0.0-beta.48" from @appium/[email protected]
        node_modules/@appium/typedoc-plugin-appium
          @appium/typedoc-plugin-appium@"^0.6.4" from @appium/[email protected]
          node_modules/@appium/docutils
            @appium/docutils@"^0.3.13" from [email protected]
        peer appium@"^2.0.0-beta.40" from [email protected]
        node_modules/appium-uiautomator2-driver
          dev appium-uiautomator2-driver@"^2.12.7" from the root project
        peer appium@"^2.0.0-beta.48" from @appium/[email protected]
        node_modules/appium-uiautomator2-driver/node_modules/@appium/typedoc-plugin-appium
          @appium/typedoc-plugin-appium@"^0.6.3" from @appium/[email protected]
          node_modules/appium-uiautomator2-driver/node_modules/@appium/docutils
        peer appium@"^2.0.0-beta.40" from [email protected]
        node_modules/appium-uiautomator2-driver/node_modules/appium-android-driver
          appium-android-driver@"^5.12.1" from [email protected]
          node_modules/appium-uiautomator2-driver
            dev appium-uiautomator2-driver@"^2.12.7" from the root project
    @appium/support@"^4.0.1" from @appium/[email protected]
    node_modules/@appium/docutils
      @appium/docutils@"^0.3.13" from [email protected]
    @appium/support@"^4.0.1" from [email protected]
    node_modules/appium
      dev appium@"^2.0.0-beta.57" from the root project
      peer appium@"^2.0.0-beta.48" from @appium/[email protected]
      node_modules/@appium/typedoc-plugin-appium
        @appium/typedoc-plugin-appium@"^0.6.4" from @appium/[email protected]
        node_modules/@appium/docutils
          @appium/docutils@"^0.3.13" from [email protected]
      peer appium@"^2.0.0-beta.40" from [email protected]
      node_modules/appium-uiautomator2-driver
        dev appium-uiautomator2-driver@"^2.12.7" from the root project
      peer appium@"^2.0.0-beta.48" from @appium/[email protected]
      node_modules/appium-uiautomator2-driver/node_modules/@appium/typedoc-plugin-appium
        @appium/typedoc-plugin-appium@"^0.6.3" from @appium/[email protected]
        node_modules/appium-uiautomator2-driver/node_modules/@appium/docutils
      peer appium@"^2.0.0-beta.40" from [email protected]
      node_modules/appium-uiautomator2-driver/node_modules/appium-android-driver
        appium-android-driver@"^5.12.1" from [email protected]
        node_modules/appium-uiautomator2-driver
          dev appium-uiautomator2-driver@"^2.12.7" from the root project

Output of npm why sharp-libvips: Screenshot 2023-05-20 at 11 52 21 AM

Why would this error consistently occur in my android build but not my ios build? Do I have control over whether the checksums match? I contacted the authors of sharp-libvips and just said it had to be some kind of connection issue, but that the sha512 hash returned means zero file length, so that's a clue.

https://github.com/lovell/sharp-libvips/issues/183#issuecomment-1555984111 https://github.com/lovell/sharp-libvips/issues/183#issuecomment-1556148423

What I've tried:

  • Played around with node versions, went from 16 to 18 which fixed the issue with ios, but not for android
  • Clearing cache and retrying

Managed or bare?

bare

Environment

expo-env-info 1.0.5 environment info:
    System:
      OS: macOS 13.3.1
      Shell: 5.9 - /bin/zsh
    Binaries:
      Node: 16.17.0 - ~/.nvm/versions/node/v16.17.0/bin/node
      Yarn: 1.22.19 - /opt/homebrew/bin/yarn
      npm: 8.15.0 - ~/.nvm/versions/node/v16.17.0/bin/npm
      Watchman: 2023.01.30.00 - /opt/homebrew/bin/watchman
    Managers:
      CocoaPods: 1.11.2 - /usr/local/bin/pod
    SDKs:
      iOS SDK:
        Platforms: DriverKit 22.4, iOS 16.4, macOS 13.3, tvOS 16.4, watchOS 9.4
      Android SDK:
        API Levels: 28, 31, 33
        Build Tools: 30.0.3, 33.0.0
        System Images: android-33 | Google APIs ARM 64 v8a, android-UpsideDownCake-ext5 | Google Play ARM 64 v8a
    IDEs:
      Android Studio: 2022.1 AI-221.6008.13.2211.9619390
      Xcode: 14.3/14E222b - /usr/bin/xcodebuild
    npmPackages:
      @expo/metro-config: ^0.3.22 => 0.3.22
      expo: ~48.0.15 => 48.0.17
      react: 18.2.0 => 18.2.0
      react-dom: 18.2.0 => 18.2.0
      react-native: 0.71.8 => 0.71.8
      react-native-web: ~0.18.7 => 0.18.12
    npmGlobalPackages:
      eas-cli: 3.9.0
    Expo Workflow: bare

Error output

[stderr] 
npm ERR! path /home/expo/workingdir/build/node_modules/sharp
[stderr] 
npm ERR! command failed
[stderr] 
npm ERR! command sh -c (node install/libvips && node install/dll-copy && prebuild-install) || (node install/can-compile && node-gyp rebuild && node install/dll-copy)
[stderr] 
npm ERR! sharp: Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.14.2/libvips-8.14.2-linux-x64.tar.br
[stderr] 
npm ERR! sharp: Integrity expected: sha512-wjCKmWfBb0uz1UB7rPDLvO0s+VWuoAY/Vv/YGCRFEQUkdSLQUgHExrOMMbOM3FleuYfQqznDYCXXphkl7X44+w==
[stderr] 
npm ERR! sharp: Integrity received: sha512-tGlsuQf/hwneexwpCLWr93OYIWh6b4cyVZ4sQuuuKE7qJ6SdLbU+ryJUYW0O8rtDeW7h/V2dBxrSsguWbgaNfA==
[stderr] 
npm ERR! sharp: Please see https://sharp.pixelplumbing.com/install for required dependencies
[stderr] 
npm ERR! sharp: Installation error: Integrity check failed for linux-x64
[stderr] 
npm ERR! A complete log of this run can be found in:
[stderr] 
npm ERR!
[stderr] 
/home/expo/.npm/_logs/2023-05-22T17_20_34_291Z-debug-0.log

Reproducible demo or steps to reproduce from a blank project

n/a

ladyshaitan avatar May 22 '23 19:05 ladyshaitan

Same problem here, weird part here is that it's not happening every Android build but more times than it being coincidentally. It does not happen on iOS builds.

  • Yarn workspaces
  • Managed

jbreemhaar avatar Sep 14 '23 06:09 jbreemhaar

getting this error, were you able to solve it?

MarcK98 avatar Jul 12 '24 09:07 MarcK98

I believe it was an issue with our NPM cache that should be resolved now. If the issue reappears feel free to open a new issue!

szdziedzic avatar Dec 09 '24 17:12 szdziedzic