在总共 39 个 gem 中找不到“minitest”(>= 5.1)(Gem::MissingSpecError)

bir*_*tri 26 cocoapods

我正在尝试在我的 mac 操作系统上安装 Pod(操作系统版本很确定),并且我正在使用 Xcode 13.1

我正在尝试从终端使用以下命令安装 Pod:

sudo pod install
Run Code Online (Sandbox Code Playgroud)

然后系统询问我密码,之后我可以在终端行中看到此错误:

Traceback (most recent call last):
    16: from /usr/local/Cellar/cocoapods/1.11.2_1/libexec/bin/pod:23:in `<main>'
    15: from /Library/Ruby/Site/2.6.0/rubygems.rb:285:in `activate_bin_path'
    14: from /Library/Ruby/Site/2.6.0/rubygems.rb:285:in `synchronize'
    13: from /Library/Ruby/Site/2.6.0/rubygems.rb:286:in `block in activate_bin_path'
    12: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1370:in `activate'
    11: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1388:in `activate_dependencies'
    10: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1388:in `each'
     9: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1406:in `block in activate_dependencies'
     8: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1370:in `activate'
     7: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1388:in `activate_dependencies'
     6: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1388:in `each'
     5: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1406:in `block in activate_dependencies'
     4: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1370:in `activate'
     3: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1388:in `activate_dependencies'
     2: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1388:in `each'
     1: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1400:in `block in activate_dependencies'
/Library/Ruby/Site/2.6.0/rubygems/dependency.rb:311:in `to_specs': Could not find 'minitest' (>= 5.1) among 39 total gem(s) (Gem::MissingSpecError)
Checked in 'GEM_PATH=/Users/michelecastriotta/.local/share/gem/ruby/2.6.0:/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0:/usr/local/Cellar/cocoapods/1.11.2_1/libexec' , execute `gem env` for more information
    16: from /usr/local/Cellar/cocoapods/1.11.2_1/libexec/bin/pod:23:in `<main>'
    15: from /Library/Ruby/Site/2.6.0/rubygems.rb:285:in `activate_bin_path'
    14: from /Library/Ruby/Site/2.6.0/rubygems.rb:285:in `synchronize'
    13: from /Library/Ruby/Site/2.6.0/rubygems.rb:286:in `block in activate_bin_path'
    12: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1370:in `activate'
    11: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1388:in `activate_dependencies'
    10: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1388:in `each'
     9: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1406:in `block in activate_dependencies'
     8: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1370:in `activate'
     7: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1388:in `activate_dependencies'
     6: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1388:in `each'
     5: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1406:in `block in activate_dependencies'
     4: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1370:in `activate'
     3: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1388:in `activate_dependencies'
     2: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1388:in `each'
     1: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1399:in `block in activate_dependencies'
/Library/Ruby/Site/2.6.0/rubygems/specification.rb:1402:in `rescue in block in activate_dependencies': Could not find 'minitest' (>= 5.1) among 39 total gem(s) (Gem::MissingSpecError)
Checked in 'GEM_PATH=/Users/michelecastriotta/.local/share/gem/ruby/2.6.0:/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0:/usr/local/Cellar/cocoapods/1.11.2_1/libexec' at: /usr/local/Cellar/cocoapods/1.11.2_1/libexec/specifications/activesupport-6.1.4.1.gemspec, execute `gem env` for more information
Run Code Online (Sandbox Code Playgroud)

如何在我的 mac 上安装 pod?

Vic*_*khe 46

我遇到了类似的问题,默认情况下使用系统 ruby​​ 版本,我们需要绕过它,然后继续使用 cocoa pods。

使用自制程序安装 ruby

brew install ruby
Run Code Online (Sandbox Code Playgroud)

默认情况下,gem 安装的二进制文件将放置在:/usr/local/lib/ruby/gems/2.7.0/bin

您可能想将其添加到您的路径中。

ruby 仅是 keg,这意味着它没有符号链接到 /usr/local,因为 macOS 已经提供了该软件,并行安装另一个版本可能会导致各种麻烦。

如果您需要首先在 PATH 中运行 ruby​​(并替换user_name为您的用户名):

echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> /Users/user_name/.bash_profile
Run Code Online (Sandbox Code Playgroud)

为了让编译器找到 ruby​​,您可能需要设置:

 export LDFLAGS="-L/usr/local/opt/ruby/lib"
 export CPPFLAGS="-I/usr/local/opt/ruby/include"
Run Code Online (Sandbox Code Playgroud)

按照说明设置 PATH。替换user_name为您的用户名

echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> /Users/user_name/.bash_profile
echo 'export LDFLAGS="-L/usr/local/opt/ruby/lib"' >> ~/.bash_profile
echo 'export CPPFLAGS="-I/usr/local/opt/ruby/include"' >> ~/.bash_profile

source ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

检查你的路径

ruby -v
ruby 3.1.1p18 (2022-02-18 revision 53f5fc4236) [x86_64-darwin20]
user@MacBook-Air ios % which ruby
/usr/local/opt/ruby/bin/ruby
Run Code Online (Sandbox Code Playgroud)

就这样,ruby版本就全部设置好了,安装cocoa pods就可以了

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


Yıl*_*maz 3

只需尝试重新安装该错误消息中提到的丢失的 gem,minitest如下所示:

gem install minitest -v 5.1.0
Run Code Online (Sandbox Code Playgroud)

这应该可以解决您当前的问题,但对于其他丢失的宝石,您可能会遇到更多错误。在这种情况下,请检查您的消息中是否有类似内容Could not find 'minitest' (>= 5.1),然后尝试安装它们。

如果您被太多的丢失 gem 错误搞得不知所措,请尝试卸载 cocopods,然后重新安装

  • 出现错误:执行 gem 时 ... (Gem::FilePermissionError) 您没有 /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0 的写入权限目录。我已经使用brew安装了gem,因为我在通过gem安装时遇到了这个问题 (2认同)
  • @DeepaSuryawanshi 好的,所以我们正处于图书馆进行重大更改的一年,如果您在安装过程中不提供版本,则图书馆管理器会获取那些不兼容的更改。您可能获取了 ruby​​ 3 的 cocoapods,但您的系统有 2.6,现在您应该有 ruby​​ 3。请提供您自己发布的答案,告诉您必须做什么,以及您最终得到的当前版本。如果我有一点帮助,也请投赞成票。 (2认同)