发现了多个 cocoapods-core 的 podfile,那么我可以删除哪一个呢?

Jak*_*nry 3 cocoapods react-native

我是 iOS 原生 React 新手。我使用的是 M1 Mac,所以 Cocoapods 的安装很棘手。我的应用程序运行良好,但现在在最近的捆绑之后,我收到此警告,指出为 cocoa pods-core 找到了多个 podfile。这两个 podfile 显示在图像左侧,并且名称不同。哪一项会被自动使用,哪一项我可以删除?

警告和发现多个 podfile 的路径

小智 10

我不知道我到底做了什么,但我解决了我的问题。

  1. 我更新了 MacOS 和 Xcode
  2. 我从 gem 卸载了 cocoapodsgem uninstall cocoapods
  3. 我在运行时遇到了一些错误bundle exec pod install。所以我用了sudo xcode-select --switch /Applications/Xcode.app
  4. 然后sudo xcodebuild -license accept
  5. 然后我运行安装程序npx react-native init template --template react-native-template-typescript,一切都很好!

我还可以建议您使用这些命令来了解您的错误在哪里

  1. npx react-native init testproject --skip-install
  2. cd testproject
  3. yarn install
  4. cd ios
  5. bundle install
  6. bundle exec pod install


小智 7

警告消息指出 React-Native CLI 发现了两个名为“Podfile”的文件:

  1. ios/Podfile
  2. 供应商/bundle/ruby/2.7.0/gems/cocoapods-core-1.11.3/lib/cocoapods-core/Podfile

它还指出将使用 ios 目录内的 Podfile。该目录和文件未显示在您的屏幕截图中;ios 目录可能是屏幕截图中显示的供应商目录的同级目录。

您不应删除任何一个 Podfile。ios/Podfile 是通过 React-Native CLI 创建 React-Native 项目时创建和使用的默认文件。另一个 Podfile(嵌套在 cocoapods-core gem 内)是 cocoapods gem 的一部分,用于构建 CocoaPods 库。

您可以通过指定 React-Native CLI 应使用哪个 Podfile 来删除警告,如 @avrahm-kleinholz 在其答案中发布的那样。

根据您的情况,将 "./custom-ios-location" 更改为 "./ios" 。


Avr*_*olz 6

来自react-native-community 文档


项目可以react-native.config.js在根目录中定义一个由 CLI 选取的自定义配置。

例如,以下配置通知 CLI 有关包含 iOS 文件的源目录的信息。

module.exports = { 
  project: {
    ios: {
      sourceDir: './custom-ios-location',
    },
  },
};
Run Code Online (Sandbox Code Playgroud)

注意:您可能会发现这在存在多个 Podfile 文件且 CLI 选择错误的情况下很有用。发生这种情况时,CLI 将打印一条警告,要求您验证其选择。