我是iOS原生版本的新手。我使用的是M1 Mac,所以Cocoapods安装起来很麻烦。我的应用程序运行得很好,但是在最近的一个捆绑包中,我收到了这样的警告,发现了多个cocoapods-core的podfiles。这两个podfiles显示在图片的左边,而且是不同的名称。哪一个被自动使用,我可以删除哪一个?
j8ag8udp1#
从React Native通信文档中:项目可以在根目录定义react-native.config.js,并使用CLI选取自定义配置。例如,下面的配置会通知CLI有关包含iOS文件的源目录。
react-native.config.js
module.exports = { project: { ios: { sourceDir: './custom-ios-location', }, }, };
注:在存在多个Podfile文件而CLI选择了错误文件的情况下,您可能会发现此功能非常有用。当发生这种情况时,CLI将打印一条警告,要求您验证其选择。
5fjcxozz2#
我也在使用M1,并将我的一个项目的React-Native 0.64.4升级到0.69.5。在所有安装完成后,我在尝试构建IOS时也收到了同样的警告。我做了一些研究,了解到ruby安装创建的供应商文件夹,在RN项目中我们不需要该文件夹。简单地说,我删除了供应商文件夹,并试图获得IOS和Android构建。两者都是没有供应商文件夹的工作。这里有一些讨论:https://www.reddit.com/r/reactnative/comments/taz1k7/vendor_folder_in_new_reactnative_typescript/但根据React Native Upgrade Helper文档:https://react-native-community.github.io/upgrade-helper/?from=0.64.4&to=0.69.5.gitignore文件应如下更改
# Ruby / CocoaPods /ios/Pods/ /vendor/bundle/
因此,供应商文件夹可以留在您的本地,您可以得到警告,而试图获得ios建设,但这不是一个问题,因为在您的建设,您将继续使用您的'ios/Podfile'。
xtupzzrd3#
Podfile是在ios文件夹中,这是特定于我们的项目,所以我们不应该删除它。否则,你将无法运行ios项目。现在,如果我们谈论供应商文件夹的podfile,我们可以忽略它。他们可能会使用内部,但它不会影响到我们的项目,而我们做pod安装。所以保持这两个文件。在.gitignore文件中,我们应该添加以下代码。
甚至在这里提到。我希望这对你有帮助。让我知道它解决了你的疑问吗?
3条答案
按热度按时间j8ag8udp1#
从React Native通信文档中:
项目可以在根目录定义
react-native.config.js
,并使用CLI选取自定义配置。例如,下面的配置会通知CLI有关包含iOS文件的源目录。
注:在存在多个Podfile文件而CLI选择了错误文件的情况下,您可能会发现此功能非常有用。当发生这种情况时,CLI将打印一条警告,要求您验证其选择。
5fjcxozz2#
我也在使用M1,并将我的一个项目的React-Native 0.64.4升级到0.69.5。在所有安装完成后,我在尝试构建IOS时也收到了同样的警告。
我做了一些研究,了解到ruby安装创建的供应商文件夹,在RN项目中我们不需要该文件夹。
简单地说,我删除了供应商文件夹,并试图获得IOS和Android构建。两者都是没有供应商文件夹的工作。
这里有一些讨论:https://www.reddit.com/r/reactnative/comments/taz1k7/vendor_folder_in_new_reactnative_typescript/
但根据React Native Upgrade Helper文档:https://react-native-community.github.io/upgrade-helper/?from=0.64.4&to=0.69.5
.gitignore文件应如下更改
因此,供应商文件夹可以留在您的本地,您可以得到警告,而试图获得ios建设,但这不是一个问题,因为在您的建设,您将继续使用您的'ios/Podfile'。
xtupzzrd3#
Podfile是在ios文件夹中,这是特定于我们的项目,所以我们不应该删除它。否则,你将无法运行ios项目。现在,如果我们谈论供应商文件夹的podfile,我们可以忽略它。他们可能会使用内部,但它不会影响到我们的项目,而我们做pod安装。所以保持这两个文件。
在.gitignore文件中,我们应该添加以下代码。
甚至在这里提到。
我希望这对你有帮助。让我知道它解决了你的疑问吗?