在总共 39 个 gem 中找不到"最小测试"(>= 5.1)(Gem::MissingSpecError)



我正在尝试在我的macos上安装Pod(操作系统版本非常确定(,我使用的是Xcode 13.1

我正试图用这个命令从终端安装Pod:

sudo pod install

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

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

如何在mac上安装pod?

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

使用自制安装ruby

brew install ruby

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

您可能需要将其添加到您的PATH中。

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

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

echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> /Users/user_name/.bash_profile

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

export LDFLAGS="-L/usr/local/opt/ruby/lib"
export CPPFLAGS="-I/usr/local/opt/ruby/include"

按照说明设置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

检查您的路径

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

就是这样,ruby版本已经准备好了安装可可荚,然后你就可以去了

sudo gem install -n /usr/local/bin cocoapods

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

gem install minitest -v 5.1.0

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

如果你被太多这些丢失的gem错误淹没了,试着卸载cocopods,然后重新安装它。

我通过删除Podfile.lock解决了这个问题

最新更新