expo / expo-cli

Tools for creating, running, and deploying universal Expo and React Native apps
https://docs.expo.io/workflow/expo-cli/
2.61k stars 478 forks source link

`npx pod-install` doesn't include all warning output from `pod install` #4133

Closed jaquinocode closed 2 years ago

jaquinocode commented 2 years ago

Summary

Me running pod install:

ja@mac:~/code/react-native/projects/copper_reclone/copper/@app/mobile/ios$ pod install
Auto-linking React Native modules for target `copperMobile`: A0Auth0, RNBackgroundFetch, RNBackgroundGeolocation, RNCAsyncStorage, RNCMaskedView, RNCPushNotificationIOS, RNDeviceInfo, RNFS, RNGestureHandler, RNImageCropPicker, RNReactNativeHapticFeedback, RNReanimated, RNSVG, RNScreens, RNSecureKeyStore, RNSentry, RNShare, RNVectorIcons, react-native-config, react-native-document-picker, react-native-get-random-values, react-native-image-resizer, react-native-netinfo, react-native-safe-area-context, react-native-text-input-mask, react-native-video, and react-native-webview
Analyzing dependencies
Downloading dependencies
Generating Pods project
Integrating client project
Pod installation complete! There are 58 dependencies from the Podfile and 61 total pods installed.

[!] The `copperMobileTests [Debug]` target overrides the `ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES` build setting defined in `Pods/Target Support Files/Pods-copperMobile-copperMobileTests/Pods-copperMobile-copperMobileTests.debug.xcconfig'. This can lead to problems with the CocoaPods installation
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

[!] The `copperMobileTests [Release]` target overrides the `ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES` build setting defined in `Pods/Target Support Files/Pods-copperMobile-copperMobileTests/Pods-copperMobile-copperMobileTests.release.xcconfig'. This can lead to problems with the CocoaPods installation
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

Me running npx pod-install:

ja@mac:~/code/react-native/projects/copper_reclone/copper/@app/mobile$ npx pod-install
Scanning for pods...
1.11.2
> pod install
Auto-linking React Native modules for target `copperMobile`: A0Auth0, RNBackgroundFetch, RNBackgroundGeolocation, RNCAsyncStorage, RNCMaskedView, RNCPushNotificationIOS, RNDeviceInfo, RNFS, RNGestureHandler, RNImageCropPicker, RNReactNativeHapticFeedback, RNReanimated, RNSVG, RNScreens, RNSecureKeyStore, RNSentry, RNShare, RNVectorIcons, react-native-config, react-native-document-picker, react-native-get-random-values, react-native-image-resizer, react-native-netinfo, react-native-safe-area-context, react-native-text-input-mask, react-native-video, and react-native-webview
Analyzing dependencies
Downloading dependencies
Generating Pods project
Integrating client project
Pod installation complete! There are 58 dependencies from the Podfile and 61 total pods installed.
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

It was very confusing for me to see

    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

with no other context until I realized that it is output that's been cut off or something from the actual full warning given by pod install.

Environment

Expo CLI 5.0.3 environment info:
    System:
      OS: macOS 11.5.2
      Shell: 5.8 - /bin/zsh
    Binaries:
      Node: 14.18.2 - ~/.nvm/versions/node/v14.18.2/bin/node
      Yarn: 3.0.2 - ~/.yarn/bin/yarn
      npm: 8.3.0 - ~/.nvm/versions/node/v14.18.2/bin/npm
      Watchman: 2022.01.03.00 - /usr/local/bin/watchman
    Managers:
      CocoaPods: 1.11.2 - /usr/local/bin/pod
    SDKs:
      iOS SDK:
        Platforms: DriverKit 21.2, iOS 15.2, macOS 12.1, tvOS 15.2, watchOS 8.3
      Android SDK:
        API Levels: 29, 30
        Build Tools: 28.0.3, 29.0.2, 30.0.2, 30.0.3
        System Images: android-29 | Google APIs Intel x86 Atom, android-29 | Google Play Intel x86 Atom, android-30 | Google APIs Intel x86 Atom
    IDEs:
      Android Studio: 4.2 AI-202.7660.26.42.7486908
      Xcode: 13.2.1/13C100 - /usr/bin/xcodebuild
    npmPackages:
      react: ^17.0.2 => 17.0.2 
      react-dom: ^17.0.2 => 17.0.2 
      react-native: ^0.65.1 => 0.65.2 
      react-native-web: ^0.17.1 => 0.17.5 
    npmGlobalPackages:
      expo-cli: 5.0.3
    Expo Workflow: bare

Please specify your device/emulator/simulator platform, model and version

N/A

Error output

ja@mac:~/code/react-native/projects/copper_reclone/copper/@app/mobile$ EXPO_DEBUG=true npx pod-install
Scanning for pods...
1.11.2
> pod install
Auto-linking React Native modules for target `copperMobile`: A0Auth0, RNBackgroundFetch, RNBackgroundGeolocation, RNCAsyncStorage, RNCMaskedView, RNCPushNotificationIOS, RNDeviceInfo, RNFS, RNGestureHandler, RNImageCropPicker, RNReactNativeHapticFeedback, RNReanimated, RNSVG, RNScreens, RNSecureKeyStore, RNSentry, RNShare, RNVectorIcons, react-native-config, react-native-document-picker, react-native-get-random-values, react-native-image-resizer, react-native-netinfo, react-native-safe-area-context, react-native-text-input-mask, react-native-video, and react-native-webview
Analyzing dependencies
Downloading dependencies
Generating Pods project
Integrating client project
Pod installation complete! There are 58 dependencies from the Podfile and 61 total pods installed.
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

Reproducible demo or steps to reproduce from a blank project

I can't give my project code to reproduce unfortunately.

Doing the above commands to a project that produces the warning will probably reproduce the same issue, though. So step 1 would be to get a project that produces that warning, or maybe any warning. And then run npx pod-install like I did.

EvanBacon commented 2 years ago

This could potentially be fixed in the next release since pod-install had a lot of improvements https://github.com/expo/expo-cli/pull/4084

EvanBacon commented 2 years ago

This appears to be fixed in 0.1.31

kanmuru commented 2 years ago

I have the same behavior with version 1.1.38, therefore, I think this issue should be reopened. npx pod-install

Pod installation complete! There are 93 dependencies from the Podfile and 101 total pods installed.
    - Check to see if there is an updated version that contains the necessary podspec file
    - Contact the library maintainers or send them a PR to add a podspec. The react-native-webview podspec is a good example of a package.json driven podspec. See https://github.com/react-native-community/react-native-webview/blob/master/react-native-webview.podspec
    - If necessary, you can disable autolinking for the dependency and link it manually. See https://github.com/react-native-community/cli/blob/master/docs/autolinking.md#how-can-i-disable-autolinking-for-unsupported-library
    - Check to see if there is an updated version that contains the necessary podspec file
    - Contact the library maintainers or send them a PR to add a podspec. The react-native-webview podspec is a good example of a package.json driven podspec. See https://github.com/react-native-community/react-native-webview/blob/master/react-native-webview.podspec
    - If necessary, you can disable autolinking for the dependency and link it manually. See https://github.com/react-native-community/cli/blob/master/docs/autolinking.md#how-can-i-disable-autolinking-for-unsupported-library

pod install

[!] use_native_modules! skipped the react-native dependency 'custom-module'. No podspec file was found.
    - Check to see if there is an updated version that contains the necessary podspec file
    - Contact the library maintainers or send them a PR to add a podspec. The react-native-webview podspec is a good example of a package.json driven podspec. See
    https://github.com/react-native-community/react-native-webview/blob/master/react-native-webview.podspec
    - If necessary, you can disable autolinking for the dependency and link it manually. See
    https://github.com/react-native-community/cli/blob/master/docs/autolinking.md#how-can-i-disable-autolinking-for-unsupported-library

[!] CocoaPods did not set the base configuration of your project because your project already has a custom config set. In order for CocoaPods integration to work at all, please either set the base configurations of the target `CustomProject` to `Target Support Files/Pods-CustomProject/Pods-CustomProject.qa.xcconfig` or include the `Target Support Files/Pods-CustomProject/Pods-CustomProject.qa.xcconfig` in your build configuration (`CustomProject.release.xcconfig`).