【问题标题】:Could not find 'cocoapods' (>= 0.a) among 48 total gem(s) (Gem::MissingSpecError)在总共 48 个 gem(s) (Gem::MissingSpecError) 中找不到 'cocoapods' (>= 0.a)
【发布时间】:2021-09-19 21:11:47
【问题描述】:
Mac OS 10.15.7


ABCD-MBP:~ abcd$ which ruby
/usr/local/opt/ruby/bin/ruby

ABCD-MBP:~ abcd$ ruby -v
ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-darwin19]

吊舱设置

Traceback (most recent call last):
    3: from /usr/local/bin/pod:22:in `<main>'
    2: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_gem.rb:65:in `gem'
    1: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/dependency.rb:323:in `to_spec'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/dependency.rb:311:in `to_specs': Could not find 'cocoapods' (>= 0.a) among 48 total gem(s) (Gem::MissingSpecError)
Checked in 'GEM_PATH=/Users/abcd/.gem/ruby/2.6.0:/Library/Ruby/Gems/2.6.0:/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0', execute `gem env` for more information

我不明白为什么这里会提到旧版本的 ruby​​?

使用 XCode > pod install 失败,因为旧版本的 ruby​​ 也被引用。

Traceback (most recent call last):
        3: from /usr/local/bin/pod:22:in `<main>'
        2: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_gem.rb:65:in `gem'
        1: from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/dependency.rb:323:in `to_spec'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/dependency.rb:311:in `to_specs': Could not find 'cocoapods' (>= 0.a) among 48 total gem(s) (Gem::MissingSpecError)
Checked in 'GEM_PATH=/Users/abcd/.gem/ruby/2.6.0:/Library/Ruby/Gems/2.6.0:/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0', execute `gem env` for more information

我尝试了 SO 中提出的不同解决方案,但无法解决此问题

  • 卸载所有 gem 并重新安装
  • 卸载 pod 并重新安装

【问题讨论】:

  • Cocoapods install documentation 说“我们建议您使用默认的 ruby​​”,这是 /usr/bin/ruby 中的那个。我不是 cocoapods 用户,所以我不知道这是否已连接到 pods 命令或者可以通过使用 /usr/local/opt/ruby/bin/gem 执行 gem install cocoapods 命令来覆盖。

标签: ruby cocoapods


【解决方案1】:

当默认 Mac 的 ruby​​ 版本与您安装的不同时会发生此问题

我可以通过安装与 Mac OS ruby​​ 框架相同的 ruby​​ 版本来解决这个问题。 删除所有 gem,重新安装 pod。

参考文献

  1. https://github.com/CocoaPods/CocoaPods/issues/10246#issuecomment-761719446

  2. https://superuser.com/questions/340490/how-to-install-and-use-different-versions-of-ruby

  3. https://rvm.io/rvm/install

  4. https://jeffreymorgan.io/articles/ruby-on-macos-with-rvm/

  5. https://github.com/rvm/rvm/issues/4215

  6. Uninstall all installed gems, in OSX?

  7. homebrew uninstall ruby

  8. https://rvm.io/rubies/default

我想知道 Apple 工程师在制作 pod + ruby​​ 这么复杂的东西时会有什么乐趣 :)

【讨论】:

    猜你喜欢
    • 2022-07-26
    • 1970-01-01
    • 2016-09-18
    • 1970-01-01
    • 1970-01-01
    • 2015-03-02
    • 1970-01-01
    • 1970-01-01
    • 2018-04-12
    相关资源
    最近更新 更多