如何移除React Native项目根目录的vendor文件夹且正常运行?
解决React Native项目无vendor文件夹正常运行的方法
原因分析
新生成的RN项目默认用Bundler管理Ruby依赖(包括CocoaPods),所以会自动生成Gemfile、Gemfile.lock和vendor文件夹,强制项目使用本地安装的指定版本CocoaPods。而另一台电脑能直接执行pod install,是因为全局环境已经安装了对应版本的CocoaPods,不需要依赖本地vendor里的包。
具体操作步骤
- 先检查全局CocoaPods版本:执行
pod --version,如果输出不是1.11.3,就安装对应版本:sudo gem install cocoapods -v 1.11.3 - 删除项目根目录的
Gemfile、Gemfile.lock和vendor文件夹 - 打开ios目录下的
Podfile,删除开头类似require_relative '../vendor/bundle/ruby/[版本号]/gems/cocoapods-1.11.3/lib/cocoapods'的行,替换成require 'cocoapods' - 最后在ios目录执行
pod install,项目就能正常运行了
额外提示
如果不想新创建的RN项目自动生成vendor文件夹,创建项目后直接按上面的步骤删除Bundler相关文件并修改Podfile,后续就能一直用全局CocoaPods管理依赖。
内容的提问来源于stack exchange,提问作者Jeaf Gilbert
相关产品推荐
相关产品推荐

