Skip to content

PNPM iOS Upload Debug Symbol fail in EAS Build #6076

@rtorrente

Description

@rtorrente

What React Native libraries do you use?

Expo Application Services (EAS)

Are you using sentry.io or on-premise?

sentry.io (SaS)

Are you using any other error monitoring solution alongside Sentry?

No

Other Error Monitoring Solution Name

No response

@sentry/react-native SDK Version

~7.11.0

How does your development environment look like?

  • Expo : ^55.0.19
  • Sentry : ~7.11.0
  • Node : 24.14.0
  • PNPM : 10.33.2
System:
  OS: macOS 26.4.1
  CPU: (8) arm64 Apple M2
  Memory: 235.83 MB / 16.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 24.14.1
    path: /Users/rtorrente/.nvm/versions/node/v24.14.1/bin/node
  Yarn: Not Found
  npm:
    version: 11.11.0
    path: /Users/rtorrente/.nvm/versions/node/v24.14.1/bin/npm
  Watchman: Not Found
Managers:
  CocoaPods:
    version: 1.16.2
    path: /opt/homebrew/bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 25.4
      - iOS 26.4
      - macOS 26.4
      - tvOS 26.4
      - visionOS 26.4
      - watchOS 26.4
  Android SDK: Not Found
IDEs:
  Android Studio: 2025.3 AI-253.31033.145.2533.15113396
  Xcode:
    version: 26.4.1/17E202
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 25.0.2
    path: /opt/homebrew/opt/openjdk/bin/javac
  Ruby:
    version: 3.2.11
    path: /opt/homebrew/opt/ruby@3.2/bin/ruby
npmPackages:
  "@react-native-community/cli":
    installed: 20.1.3
    wanted: ^20.1.3
  react:
    installed: 19.2.0
    wanted: 19.2.0
  react-native:
    installed: 0.83.6
    wanted: 0.83.6
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: Not found
  newArchEnabled: Not found
iOS:
  hermesEnabled: Not found
  newArchEnabled: Not found




Sentry.init()

N/A

Steps to Reproduce

  1. Build with iOS on EAS Build fail with same error as Pnpm package manager iOS ARCHIVE FAILED (Cannot find module '@sentry/cli/package.json') #4939 but I don't understand as it's an old issue that seems already fixed.
  2. Open the EAS Build UI to see the build process

Expected Result

Build work

Actual Result

Build with iOS on EAS Build fail with same error as #4939 but I don't understand as it's an old issue that seems already fixed.

Does the pnpm add -D @sentry/cli always needed with pnpm setup ?

Fastlane log

⚠️  ld: search path '/var/run/com.apple.security.cryptexd/mnt/com.apple.MobileAsset.MetalToolchain-v17.3.48.0.qBgAFy/Metal.xctoolchain/usr/lib/swift/iphonesimulator' not found
› Generating debug DEVFFHandball » DEVFFHandball.app.dSYM
› Executing DEVFFHandball » Bundle React Native code and images
› Executing DEVFFHandball » [CP] Copy Pods Resources
› Executing DEVFFHandball » [Expo Dev Launcher] Strip Local Network Keys for Release
› Executing DEVFFHandball » Upload Debug Symbols to Sentry
    Run script build phase '[CP-User] [Hermes] Replace Hermes for the right configuration, if needed' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'hermes-engine' from project 'Pods')
    Run script build phase '[Expo Dev Launcher] Strip Local Network Keys for Release' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'DEVFFHandball' from project 'DEVFFHandball')
    Run script build phase 'Upload Debug Symbols to Sentry' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'DEVFFHandball' from project 'DEVFFHandball')
    Run script build phase '[CP-User] [RNFB] Core Configuration' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'DEVFFHandball' from project 'DEVFFHandball')
    Run script build phase '[CP-User] [RNFB] Crashlytics Configuration' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'DEVFFHandball' from project 'DEVFFHandball')
    Run script build phase '[CP-User] react-native-maps patches' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'react-native-maps' from project 'Pods')
    Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'ReactCodegen' from project 'Pods')
    Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'RNWorklets' from project 'Pods')
    Run script build phase 'Create Symlinks to Header Folders' will be run during every build because it does not specify any outputs. To address this issue, either add output dependencies to the script phase, or configure it to run in every build by unchecking "Based on dependency analysis" in the script phase. (in target 'RNReanimated' from project 'Pods')
▸ ** BUILD FAILED **
▸ The following build commands failed:
▸ 	PhaseScriptExecution Upload\ Debug\ Symbols\ to\ Sentry /Users/expo/workingdir/build/ios/build/Build/Intermediates.noindex/DEVFFHandball.build/Debug-iphonesimulator/DEVFFHandball.build/Script-CF870D5DF6514FBD8854CF3B.sh (in target 'DEVFFHandball' from project 'DEVFFHandball')
▸ 	Building workspace DEVFFHandball with scheme DEVFFHandball and configuration Debug

XCode Logs

+ LOCAL_NODE_BINARY=/Users/expo/.nvm/versions/node/v24.14.0/bin/node
+ RN_PROJECT_ROOT=/Users/expo/workingdir/build/ios/..
+ '[' -z '' ']'
+ export SENTRY_PROPERTIES=sentry.properties
+ SENTRY_PROPERTIES=sentry.properties
+ '[' -z '' ']'
+ '[' -f /Users/expo/workingdir/build/ios/../.env.sentry-build-plugin ']'
+ '[' -z '' ']'
+ export SOURCEMAP_FILE=/Users/expo/workingdir/build/ios/build/Build/Intermediates.noindex/DEVFFHandball.build/Debug-iphonesimulator/DEVFFHandball.build/DerivedSources/main.jsbundle.map
+ SOURCEMAP_FILE=/Users/expo/workingdir/build/ios/build/Build/Intermediates.noindex/DEVFFHandball.build/Debug-iphonesimulator/DEVFFHandball.build/DerivedSources/main.jsbundle.map
+ '[' -z '' ']'
++ /Users/expo/.nvm/versions/node/v24.14.0/bin/node --print 'require('\''path'\'').dirname(require.resolve('\''@sentry/cli/package.json'\''))'
+ RESOLVED_PATH=
+ true
+ '[' -n '' ']'
+ PNPM_BIN_PATH=/Users/expo/workingdir/build/ios/../node_modules/@sentry/react-native/node_modules/.bin/sentry-cli
+ '[' -f /Users/expo/workingdir/build/ios/../node_modules/@sentry/react-native/node_modules/.bin/sentry-cli ']'
++ cat /Users/expo/workingdir/build/ios/../node_modules/@sentry/react-native/node_modules/.bin/sentry-cli
+ CLI_FILE_TEXT='#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e '\''s,\\,/,g'\'')")

case `uname` in
    *CYGWIN*|*MINGW*|*MSYS*)
        if command -v cygpath > /dev/null 2>&1; then
            basedir=`cygpath -w "$basedir"`
        fi
    ;;
esac

if [ -z "$NODE_PATH" ]; then
  export NODE_PATH="/Users/expo/workingdir/build/node_modules/.pnpm/@sentry+cli@2.58.4/node_modules/@sentry/cli/node_modules:/Users/expo/workingdir/build/node_modules/.pnpm/@sentry+cli@2.58.4/node_modules:/Users/expo/workingdir/build/node_modules/.pnpm/node_modules"
else
  export NODE_PATH="/Users/expo/workingdir/build/node_modules/.pnpm/@sentry+cli@2.58.4/node_modules/@sentry/cli/node_modules:/Users/expo/workingdir/build/node_modules/.pnpm/@sentry+cli@2.58.4/node_modules:/Users/expo/workingdir/build/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
  exec "$basedir/node"  "$basedir/../../../cli/bin/sentry-cli" "$@"
else
  exec node  "$basedir/../../../cli/bin/sentry-cli" "$@"
fi'
++ echo '#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e '\''s,\\,/,g'\'')")

case `uname` in
    *CYGWIN*|*MINGW*|*MSYS*)
        if command -v cygpath > /dev/null 2>&1; then
            basedir=`cygpath -w "$basedir"`
        fi
    ;;
esac

if [ -z "$NODE_PATH" ]; then
  export NODE_PATH="/Users/expo/workingdir/build/node_modules/.pnpm/@sentry+cli@2.58.4/node_modules/@sentry/cli/node_modules:/Users/expo/workingdir/build/node_modules/.pnpm/@sentry+cli@2.58.4/node_modules:/Users/expo/workingdir/build/node_modules/.pnpm/node_modules"
else
  export NODE_PATH="/Users/expo/workingdir/build/node_modules/.pnpm/@sentry+cli@2.58.4/node_modules/@sentry/cli/node_modules:/Users/expo/workingdir/build/node_modules/.pnpm/@sentry+cli@2.58.4/node_modules:/Users/expo/workingdir/build/node_modules/.pnpm/node_modules:$NODE_PATH"
fi
if [ -x "$basedir/node" ]; then
  exec "$basedir/node"  "$basedir/../../../cli/bin/sentry-cli" "$@"
else
  exec node  "$basedir/../../../cli/bin/sentry-cli" "$@"
fi'
++ grep -oE 'NODE_PATH="[^"]+"'
++ head -n1
+ NODE_PATH_LINE='NODE_PATH="/Users/expo/workingdir/build/node_modules/.pnpm/@sentry+cli@2.58.4/node_modules/@sentry/cli/node_modules:/Users/expo/workingdir/build/node_modules/.pnpm/@sentry+cli@2.58.4/node_modules:/Users/expo/workingdir/build/node_modules/.pnpm/node_modules"'
++ echo 'NODE_PATH="/Users/expo/workingdir/build/node_modules/.pnpm/@sentry+cli@2.58.4/node_modules/@sentry/cli/node_modules:/Users/expo/workingdir/build/node_modules/.pnpm/@sentry+cli@2.58.4/node_modules:/Users/expo/workingdir/build/node_modules/.pnpm/node_modules"'
++ sed -E 's/^NODE_PATH="([^"]+)".*/\1/'
+ NODE_PATH_VALUE=/Users/expo/workingdir/build/node_modules/.pnpm/@sentry+cli@2.58.4/node_modules/@sentry/cli/node_modules:/Users/expo/workingdir/build/node_modules/.pnpm/@sentry+cli@2.58.4/node_modules:/Users/expo/workingdir/build/node_modules/.pnpm/node_modules
+ SENTRY_CLI_PACKAGE_PATH=/Users/expo/workingdir/build/node_modules/.pnpm/@sentry+cli@2.58.4/node_modules/@sentry/cli/node_modules:/Users/expo/workingdir/build/node_modules/.pnpm/@sentry+cli@2.58.4/node_modules:/Users/expo/workingdir/build/node_modules/.pnpm/node_modules
+ '[' -z '' ']'
+ SENTRY_CLI_EXECUTABLE=/Users/expo/workingdir/build/node_modules/.pnpm/@sentry+cli@2.58.4/node_modules/@sentry/cli/node_modules:/Users/expo/workingdir/build/node_modules/.pnpm/@sentry+cli@2.58.4/node_modules:/Users/expo/workingdir/build/node_modules/.pnpm/node_modules
+ REACT_NATIVE_XCODE_DEFAULT=../node_modules/react-native/scripts/react-native-xcode.sh
+ REACT_NATIVE_XCODE=/Users/expo/workingdir/build/node_modules/.pnpm/react-native@0.83.6_@babel+core@7.29.0_@react-native+metro-config@0.85.2_@babel+core@7._6831c2261ba1b8afd7455b0049d40233/node_modules/react-native/scripts/react-native-xcode.sh
+ [[ '' == false ]]
+ ARGS='  '
+ REACT_NATIVE_XCODE_WITH_SENTRY='"/Users/expo/workingdir/build/node_modules/.pnpm/@sentry+cli@2.58.4/node_modules/@sentry/cli/node_modules:/Users/expo/workingdir/build/node_modules/.pnpm/@sentry+cli@2.58.4/node_modules:/Users/expo/workingdir/build/node_modules/.pnpm/node_modules" react-native xcode    "/Users/expo/workingdir/build/node_modules/.pnpm/react-native@0.83.6_@babel+core@7.29.0_@react-native+metro-config@0.85.2_@babel+core@7._6831c2261ba1b8afd7455b0049d40233/node_modules/react-native/scripts/react-native-xcode.sh"'
+ exitCode=0
+ '[' true '!=' true ']'
+ echo 'SENTRY_DISABLE_AUTO_UPLOAD=true, skipping sourcemaps upload'
SENTRY_DISABLE_AUTO_UPLOAD=true, skipping sourcemaps upload
+ /bin/sh -c /Users/expo/workingdir/build/node_modules/.pnpm/react-native@0.83.6_@babel+core@7.29.0_@react-native+metro-config@0.85.2_@babel+core@7._6831c2261ba1b8afd7455b0049d40233/node_modules/react-native/scripts/react-native-xcode.sh
+ DEST=/Users/expo/workingdir/build/ios/build/Build/Products/Debug-iphonesimulator/DEVFFHandball.app
+ [[ ! -n '' ]]
+ [[ Debug = *Debug* ]]
+ [[ ! iphonesimulator == *simulator ]]
+ [[ -n 1 ]]
+ echo 'SKIP_BUNDLING enabled; skipping.'
SKIP_BUNDLING enabled; skipping.
+ exit 0
+ '[' -z '' ']'
++ /Users/expo/.nvm/versions/node/v24.14.0/bin/node --print 'require('\''path'\'').dirname(require.resolve('\''@sentry/react-native/package.json'\''))'
+ SENTRY_RN_PACKAGE_PATH=/Users/expo/workingdir/build/node_modules/.pnpm/@sentry+react-native@7.13.0_expo@55.0.19_react-native@0.83.6_@babel+core@7.29.0_@react-_49f23d6c0f61531e6025bcbfe79fcbdc/node_modules/@sentry/react-native
+ '[' -z '' ']'
+ SENTRY_COLLECT_MODULES=/Users/expo/workingdir/build/node_modules/.pnpm/@sentry+react-native@7.13.0_expo@55.0.19_react-native@0.83.6_@babel+core@7.29.0_@react-_49f23d6c0f61531e6025bcbfe79fcbdc/node_modules/@sentry/react-native/scripts/collect-modules.sh
+ '[' -f /Users/expo/workingdir/build/node_modules/.pnpm/@sentry+react-native@7.13.0_expo@55.0.19_react-native@0.83.6_@babel+core@7.29.0_@react-_49f23d6c0f61531e6025bcbfe79fcbdc/node_modules/@sentry/react-native/scripts/collect-modules.sh ']'
+ /bin/sh /Users/expo/workingdir/build/node_modules/.pnpm/@sentry+react-native@7.13.0_expo@55.0.19_react-native@0.83.6_@babel+core@7.29.0_@react-_49f23d6c0f61531e6025bcbfe79fcbdc/node_modules/@sentry/react-native/scripts/collect-modules.sh
+ [[ Debug = *Debug* ]]
+ echo 'Debug build. Modules are not collected.'
Debug build. Modules are not collected.
+ exit 0
+ exit 0
Error: Cannot find module '@sentry/cli/package.json'
Require stack:
- /Users/expo/workingdir/build/ios/[eval]
    at Module._resolveFilename (node:internal/modules/cjs/loader:1456:15)
    at require.resolve (node:internal/modules/helpers:163:19)
    at [eval]:1:33
    at runScriptInThisContext (node:internal/vm:219:10)
    at node:internal/process/execution:451:12
    at [eval]-wrapper:6:24
    at runScriptInContext (node:internal/process/execution:449:60)
    at evalFunction (node:internal/process/execution:283:30)
    at evalTypeScript (node:internal/process/execution:295:3)
    at node:internal/main/eval_string:71:3 {
  code: 'MODULE_NOT_FOUND',
  requireStack: [ '/Users/expo/workingdir/build/ios/[eval]' ]
}
Node.js v24.14.0
+ SENTRY_CLI_PACKAGE_PATH=
Command PhaseScriptExecution failed with a nonzero exit code

Metadata

Metadata

Assignees

No fields configured for issues without a type.

Projects

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions