expo / eas-cli

Fastest way to build, submit, and update iOS and Android apps
https://docs.expo.dev/eas/
MIT License
796 stars 82 forks source link

[EAS][IOS] Build fails due unexpected token on podfile #1258

Closed MicaelRodrigues closed 2 years ago

MicaelRodrigues commented 2 years ago

Build/Submit details page URL

https://expo.dev/accounts/seegno-labs/projects/unimoney/builds/47330489-7fbc-4ca2-9448-a43cbac3c9fd

Summary

After upgrading to expo-sdk-46 i can't run eas builds. I can seem to find the cause for that, because local builds work as expected.

Running on eas on the cloud or locally (--local option) produces the error output bellow.

I've tried:

Managed or bare?

Managed

Environment

Expo env info

  expo-env-info 1.0.5 environment info:
    System:
      OS: macOS 12.0.1
      Shell: 5.8 - /usr/local/bin/zsh
    Binaries:
      Node: 16.16.0 - ~/.nvm/versions/node/v16.16.0/bin/node
      Yarn: 1.22.10 - /usr/local/bin/yarn
      npm: 8.15.1 - ~/.nvm/versions/node/v16.16.0/bin/npm
      Watchman: 2022.07.04.00 - /usr/local/bin/watchman
    Managers:
      CocoaPods: 1.11.3 - /usr/local/bin/pod
    SDKs:
      iOS SDK:
        Platforms: DriverKit 21.4, iOS 15.5, macOS 12.3, tvOS 15.4, watchOS 8.5
    IDEs:
      Android Studio: 2021.2 AI-212.5712.43.2112.8512546
      Xcode: 13.4.1/13F100 - /usr/bin/xcodebuild
    npmPackages:
      expo: ^46.0.2 => 46.0.2 
      react: 18.0.0 => 18.0.0 
      react-dom: 18.0.0 => 18.0.0 
      react-native: 0.69.4 => 0.69.4 
      react-native-web: ~0.18.7 => 0.18.7 
    Expo Workflow: managed

Expo doctor

Expected package expo-modules-autolinking@~0.10.1
Found invalid:
  expo-modules-autolinking@0.5.5
  expo-modules-autolinking@0.8.1
  (for more info, run: npm why expo-modules-autolinking)
Expected package @expo/config-plugins@^5.0.0
Found invalid:
  @expo/config-plugins@4.1.4
  @expo/config-plugins@4.1.5
  @expo/config-plugins@4.1.5
  @expo/config-plugins@4.1.5
  @expo/config-plugins@4.1.5
  @expo/config-plugins@4.1.5
  @expo/config-plugins@4.1.5
  @expo/config-plugins@4.1.5
  @expo/config-plugins@4.1.5
  @expo/config-plugins@4.0.18
  (for more info, run: npm why @expo/config-plugins)
Expected package @expo/prebuild-config@^5.0.1
Found invalid:
  @expo/prebuild-config@3.1.6
  @expo/prebuild-config@4.0.3
  (for more info, run: npm why @expo/prebuild-config)

Error output

[INSTALL_PODS] Using Expo modules
[INSTALL_PODS] Auto-generating `.xcode.env.local` with $NODE_BINARY=/Users/micael/.nvm/versions/node/v16.16.0/bin/node
[INSTALL_PODS] error Failed to load configuration of your project.
[INSTALL_PODS] [!] Invalid `Podfile` file: 767: unexpected token at 'info Run CLI with --verbose flag for more details.
[INSTALL_PODS] '.
[INSTALL_PODS] 
[INSTALL_PODS]  #  from /private/var/folders/sb/705339xs6kg83h_n36j2d4mh0000gn/T/eas-build-local-nodejs/a619d45f-a4f3-4026-9560-cbc238b2e1de/build/ios/Podfile:14
[INSTALL_PODS]  #  -------------------------------------------
[INSTALL_PODS]  #    use_expo_modules!
[INSTALL_PODS]  >    config = use_native_modules!
[INSTALL_PODS]  #  
[INSTALL_PODS]  #  -------------------------------------------
[INSTALL_PODS] 
Error: pod exited with non-zen-zero code: 1

Reproducible demo or steps to reproduce from a blank project

I couldn't reproduce the by simply adding a eas.json config to blank project, so'll paste my package.json file:

{
  "name": "not-relevant",
  "version": "0.27.1",
  "private": true,
  "description": "Not relevant",
  "license": "UNLICENSED",
  "scripts": {
    "android": "expo run:android",
    "build": "eas whoami &>/dev/null || eas login && eas build --non-interactive",
    "build-storybook": "build-storybook",
    "changelog": "github_changelog_generator --no-issues --header-label='# Changelog' --future-release=v$npm_config_future_release",
    "debug": "open 'rndebugger://set-debugger-loc?host=localhost&port=8081'",
    "eject": "expo eject",
    "flipper": "METRO_SERVER_PORT=8081 open -a Flipper.app",
    "generate": "node ./bin/generate.js",
    "generate-graphql": "graphql-codegen --config codegen.yml",
    "postinstall": "patch-package",
    "ios": "expo run:ios",
    "lint": "eslint --ext .js,.ts,.tsx .",
    "lint-staged": "lint-staged",
    "lint-styles": "stylelint './src/**/*[^.d$].ts?(x)'",
    "start": "expo start --dev-client",
    "storybook": "start-storybook -p 7007",
    "test": "jest",
    "test-watch": "jest --watch --notify",
    "transform-svgs": "./bin/transform-svgs.sh",
    "type-check": "tsc --project tsconfig.json --noEmit",
    "version": "npm run changelog --future-release=$npm_package_version && git add -A CHANGELOG.md",
  },
  "pre-commit": [
    "lint-staged"
  ],
  "resolutions": {
    "@types/react": "~18.0.0",
    "@types/react-native": "~0.69.1",
    "react-native-skeleton-content/expo-linear-gradient": "~11.4.0",
    "react-native-skeleton-content/react-native-reanimated": "~2.9.1"
  },
  "dependencies": {
    "@apollo/client": "^3.6.9",
    "@expo/config": "^7.0.0",
    "@formatjs/intl-datetimeformat": "^4.2.6",
    "@formatjs/intl-getcanonicallocales": "^1.8.0",
    "@formatjs/intl-locale": "^2.4.41",
    "@formatjs/intl-numberformat": "^7.2.6",
    "@formatjs/intl-pluralrules": "^4.1.6",
    "@react-hook/debounce": "^4.0.0",
    "@react-native-async-storage/async-storage": "~1.17.3",
    "@react-native-community/blur": "^4.1.0",
    "@react-native-community/datetimepicker": "6.2.0",
    "@react-native-firebase/analytics": "^15.3.0",
    "@react-native-firebase/app": "^15.3.0",
    "@react-native-firebase/auth": "^15.3.0",
    "@react-native-firebase/crashlytics": "^15.3.0",
    "@react-native-firebase/firestore": "^15.3.0",
    "@react-native-firebase/messaging": "^15.3.0",
    "@react-navigation/elements": "^1.3.4",
    "@react-navigation/native": "^6.0.11",
    "@react-navigation/stack": "^6.2.2",
    "@seegno/react-forms": "^0.15.0",
    "@types/color": "^3.0.2",
    "@types/config": "^0.0.39",
    "@types/jest": "^28.1.6",
    "@types/jsonwebtoken": "^8.5.5",
    "@types/lodash": "^4.14.172",
    "@types/react": "~18.0.0",
    "@types/react-native": "~0.69.1",
    "@types/semver": "^7.3.9",
    "@types/styled-components": "^5.1.25",
    "@types/styled-components-react-native": "^5.1.3",
    "ajv": "^8.6.3",
    "ajv-formats": "^2.1.1",
    "apollo3-cache-persist": "^0.14.1",
    "babel-plugin-module-resolver": "^4.1.0",
    "bignumber.js": "^9.0.1",
    "color": "3.2.1",
    "config": "^3.3.6",
    "country-iso-to-coordinates": "^1.0.2",
    "date-fns": "^2.28.0",
    "deprecated-react-native-prop-types": "^2.3.0",
    "events": "^3.3.0",
    "expo": "^46.0.2",
    "expo-application": "~4.2.2",
    "expo-clipboard": "~3.1.0",
    "expo-community-flipper": "^45.1.0",
    "expo-dev-client": "~1.1.1",
    "expo-device": "~4.3.0",
    "expo-font": "~10.2.0",
    "expo-linear-gradient": "~11.4.0",
    "expo-linking": "~3.2.2",
    "expo-localization": "~13.1.0",
    "expo-location": "~14.3.0",
    "expo-notifications": "~0.16.1",
    "expo-secure-store": "~11.3.0",
    "expo-splash-screen": "~0.16.1",
    "expo-status-bar": "~1.4.0",
    "expo-system-ui": "~1.3.0",
    "expo-updates": "~0.14.3",
    "expo-web-browser": "~11.0.0",
    "graphql": "^16.5.0",
    "i18n-iso-countries": "^6.8.0",
    "i18next": "^20.4.0",
    "ibantools": "^4.1.4",
    "is-promise": "^4.0.0",
    "jwt-decode": "^3.1.2",
    "libphonenumber-js": "^1.9.37",
    "lodash": "^4.17.21",
    "nanoid": "^3.1.30",
    "patch-package": "^6.4.7",
    "react": "18.0.0",
    "react-countdown-hook": "^1.1.1",
    "react-dom": "18.0.0",
    "react-i18next": "^11.18.3",
    "react-native": "0.69.4",
    "react-native-draggable": "^3.3.0",
    "react-native-email-link": "^1.12.2",
    "react-native-flipper": "^0.156.0",
    "react-native-gesture-handler": "~2.5.0",
    "react-native-known-styling-properties": "^1.1.0",
    "react-native-map-clustering": "^3.4.2",
    "react-native-maps": "0.31.1",
    "react-native-modal": "^13.0.1",
    "react-native-pure-jwt": "^3.0.1",
    "react-native-reanimated": "~2.9.1",
    "react-native-safe-area-context": "4.3.1",
    "react-native-screens": "~3.15.0",
    "react-native-skeleton-content": "^1.0.24",
    "react-native-svg": "12.3.0",
    "react-native-swipe-list-view": "^3.2.9",
    "react-native-web": "~0.18.7",
    "react-signal": "^0.2.1",
    "semver": "^7.3.5",
    "styled-components": "^5.3.5",
    "styled-tools": "^1.7.2",
    "typescript": "^4.6.3",
    "typescript-styled-plugin": "^0.18.2"
  },
  "devDependencies": {
    "@babel/core": "^7.18.6",
    "@graphql-codegen/cli": "2.6.2",
    "@graphql-codegen/near-operation-file-preset": "^2.2.9",
    "@graphql-codegen/typescript": "2.4.8",
    "@graphql-codegen/typescript-operations": "2.3.5",
    "@graphql-codegen/typescript-react-apollo": "3.2.11",
    "@storybook/addon-actions": "^5.3",
    "@storybook/addon-knobs": "^5.3",
    "@storybook/addon-links": "^5.3",
    "@storybook/addon-ondevice-actions": "^5.3.23",
    "@storybook/addon-ondevice-knobs": "^5.3.25",
    "@storybook/react-native": "^5.3.25",
    "@storybook/react-native-server": "^5.3.23",
    "@svgr/cli": "^5.5.0",
    "@testing-library/jest-native": "^4.0.5",
    "@testing-library/react-hooks": "^8.0.1",
    "@testing-library/react-native": "^11.0.0",
    "@typescript-eslint/eslint-plugin": "^4.22.0",
    "@typescript-eslint/parser": "^4.22.0",
    "babel-loader": "^8.2.2",
    "cli-color": "^2.0.1",
    "eas-cli": "^0.58.0",
    "eslint": "^6.8.0",
    "eslint-config-seegno": "^17.0.0",
    "eslint-plugin-react-native": "^3.11.0",
    "eslint-plugin-typescript-sort-keys": "^1.7.0",
    "expo-cli": "^6.0.1",
    "generate-template-files": "^3.2.0",
    "jest": "^26.6.3",
    "jest-expo": "^46.0.0",
    "jest-styled-components": "^7.0.8",
    "jsonlint": "^1.6.3",
    "jsonwebtoken": "^8.5.1",
    "lint-staged": "^11.1.2",
    "pre-commit": "^1.2.2",
    "sort-package-json": "^1.55.0",
    "stylelint": "^13.12.0",
    "stylelint-config-seegno": "^0.5.0",
    "stylelint-react-native": "^2.3.0",
    "tsconfig-paths": "^3.11.0",
    "yarn-deduplicate": "^3.1.0"
  },
  "engines": {
    "node": ">= 16"
  }
}
expo-bot commented 2 years ago

Hi there! It looks like your issue requires a minimal reproducible example, but it is invalid or absent. Please prepare such an example and share it in a new issue.

The best way to get attention to your issue is to provide a clean and easy way for a developer to reproduce the issue on their own machine. Please do not provide your entire project, or a project with more code than is necessary to reproduce the issue.

A side benefit of going through the process of narrowing down the minimal amount of code needed to reproduce the issue is that you may get lucky and discover that the bug is due to a mistake in your application code that you can quickly fix on your own.

Resources