无法在 Catalina 上安装 cocoapods

Inf*_*nfs 7 macos xcode cocoapods macos-catalina xcode12

我有 catalina OS 10.15.7 和 XCode 版本 12.4 (12D4e) 我正在尝试使用 gem 安装 cocoapods:

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

我收到此错误:

ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/gems/2.6.0 directory.
Run Code Online (Sandbox Code Playgroud)

解决这个问题真是一场噩梦。我尝试使用brew install。Brew 能够安装它。但吊舱不起作用。当我使用简单的命令时,例如

pod init
or 
pod -v
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:1369:in `activate'
    11: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1387:in `activate_dependencies'
    10: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1387:in `each'
     9: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1405:in `block in activate_dependencies'
     8: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1369:in `activate'
     7: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1387:in `activate_dependencies'
     6: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1387:in `each'
     5: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1405:in `block in activate_dependencies'
     4: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1369:in `activate'
     3: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1387:in `activate_dependencies'
     2: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1387: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/dependency.rb:311:in `to_specs': Could not find 'minitest' (>= 5.1) among 39 total gem(s) (Gem::MissingSpecError)
Checked in 'GEM_PATH=/Users/pankajnafria/.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:1369:in `activate'
    11: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1387:in `activate_dependencies'
    10: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1387:in `each'
     9: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1405:in `block in activate_dependencies'
     8: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1369:in `activate'
     7: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1387:in `activate_dependencies'
     6: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1387:in `each'
     5: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1405:in `block in activate_dependencies'
     4: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1369:in `activate'
     3: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1387:in `activate_dependencies'
     2: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1387:in `each'
     1: from /Library/Ruby/Site/2.6.0/rubygems/specification.rb:1398:in `block in activate_dependencies'
/Library/Ruby/Site/2.6.0/rubygems/specification.rb:1401: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/pankajnafria/.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)

感谢您为解决此问题提供的任何帮助。

小智 8

打开终端

curl -L https://get.rvm.io | bash -s stable
Run Code Online (Sandbox Code Playgroud)

然后,关闭并重新打开终端

rvm install ruby-3.1.1
Run Code Online (Sandbox Code Playgroud)

完成后,运行:

rvm use ruby-3.1.1
Run Code Online (Sandbox Code Playgroud)

进而:

rvm --default use 3.1.1
Run Code Online (Sandbox Code Playgroud)

下一步,使用以下命令安装 cocoapods:

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

有关更多信息,请查看此[链接]。( https://developer.apple.com/forums/thread/697249 )


rmt*_*eis 2

我通过重新安装 Ruby/Rubygems 和 CocoaPods 解决了这个问题。

首先,我按照 Moncef Belyamani 的详细说明安装 Ruby/Rubygems。

接下来,我运行了几个命令:

gem install json
gem install CFPropertyList
gem pristine json --version 2.6.1
Run Code Online (Sandbox Code Playgroud)

根据这里的建议:

gem update --system 3.2.33
Run Code Online (Sandbox Code Playgroud)

我重新安装了 CocoaPods:

brew uninstall cocoapods
brew cleanup -s
brew install cocoapods
Run Code Online (Sandbox Code Playgroud)