找不到带有可执行 pod 的 gem cocoapods (>= 0.a) (react-native pod install)

Nic*_*Lui 48 ruby cocoapods react-native

我刚刚开始一个反应本机项目。然而这个问题却困扰了我一天。我尝试了所有可能的方法来解决它。例如,

sudo gem uninstall cocoapods
rvm uninstall
brew install cocoapods
Run Code Online (Sandbox Code Playgroud)

然而,我却没有运气。我想指出,我可以pod --version在其他路径下,但当我尝试pod在我的项目路径下时会出现问题。我还尝试将rvm默认版本设置为2.7.5,但问题仍然发生。另外,我没有使用Apple M1

Traceback (most recent call last):
    4: from /Users/nicholas/.rvm/gems/ruby-2.7.5/bin/ruby_executable_hooks:22:in `<main>'
    3: from /Users/nicholas/.rvm/gems/ruby-2.7.5/bin/ruby_executable_hooks:22:in `eval'
    2: from /Users/nicholas/.rvm/gems/ruby-2.7.5/bin/pod:23:in `<main>'
    1: from /Users/nicholas/.rvm/rubies/ruby-2.7.5/lib/ruby/2.7.0/rubygems.rb:296:in `activate_bin_path'
/Users/nicholas/.rvm/rubies/ruby-2.7.5/lib/ruby/2.7.0/rubygems.rb:277:in `find_spec_for_exe': can't find gem cocoapods (>= 0.a) with executable pod (Gem::GemNotFoundException)
Run Code Online (Sandbox Code Playgroud)

小智 132

尝试bundle install在项目的根目录中运行。然后转到ios并运行或从项目根目录pod install使用。npx pod-install

  • 这对我有用,任何人都可以解释什么是“bundle install”吗? (9认同)
  • 如果你没有 Gemfile,你也可以尝试 `gem install cocoapods` 而不是 `bundle install` (8认同)
  • `bundle install` 命令会将 Gemfile 中列出的所有 gem 及其依赖项安装到系统中。/sf/answers/214087961/ (4认同)
  • 仍然有这个问题与react-native:0.70.1和react 18 (3认同)

iGr*_*oza 24

删除可可足类:

sudo gem uninstall cocoapods
Run Code Online (Sandbox Code Playgroud)

然后再次安装:

sudo gem install -n /usr/local/bin cocoapods
Run Code Online (Sandbox Code Playgroud)


Eng*_*faq 12

此问题是由于您的默认 Ruby 版本与 Gemfile 中指定的 Ruby 版本不同造成的。要安装多个 Ruby版本,您必须在系统上安装rvm ,然后安装多个 Ruby 版本。安装 Gemfile 中指定的 ruby​​ 版本后,您必须运行该bundle install命令。关联

bundle install是我们用来安装 Gemfile 中指定的依赖项的命令。简单来说,Gemfile 是一种用于描述 Ruby 程序的 gem 依赖关系的格式。或者你可以说它包含了你在这个项目中需要的宝石。

之后您可以安装 runnpx pod-installcd ios and pod install.


小智 12

bundle install工作之前pod install

生成 React Native 项目时,配置设置为默认的 mac gem 版本。如果您在 Mac 上更新了 gem 版本,则项目配置无法选择正确的 gem 版本。这就是为什么它会抛出can't find gem cocoapods.

通过这样做bundle install,它将根据 mac gem 版本更新项目配置。