Npx cap add ios fails with Gem::MissingSpecError (Solved)

(solved - see below)

I have recently upgraded my project to Capacitor 3 (see package.json below) and it has not worked since.

The project content code itself is (old) Angularjs 1.8

Command npx cap add ios fails with the following output:

✔ Adding native Xcode project in ios in 58.67ms
✔ add in 59.43ms
✔ Copying web assets from public to ios/App/App/public in 322.68ms
✔ Creating capacitor.config.json in ios/App/App in 584.94μs
✔ copy ios in 340.25ms
✔ Updating iOS plugins in 4.64ms
✖ Updating iOS native dependencies with pod install - failed!
✖ update ios - failed!
[error] /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/dependency.rb:311:in
        `to_specs': Could not find 'CFPropertyList' (>= 2.3.3, < 4.0) among 82 total gem(s) (Gem::MissingSpecError)
        Checked in
        'GEM_PATH=/Users/aderowbotham/.rvm/gems/ruby-2.4.3:/Users/aderowbotham/.rvm/rubies/ruby-2.4.3/lib/ruby/gems/2.4.0:/usr/local/Cellar/cocoapods/1.11.2_2/libexec',
        execute `gem env` for more information
        from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/specification.rb:1449:in
        `block in activate_dependencies'
        from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/specification.rb:1438:in
        `each'
        from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/specification.rb:1438:in
        `activate_dependencies'
        from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/specification.rb:1420:in
        `activate'
        from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/specification.rb:1452:in
        `block in activate_dependencies'
        from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/specification.rb:1438:in
        `each'
        from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/specification.rb:1438:in
        `activate_dependencies'
        from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/specification.rb:1420:in
        `activate'
        from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:304:in `block in
        activate_bin_path'
        from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:303:in `synchronize'
        from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems.rb:303:in
        `activate_bin_path'
        from /usr/local/Cellar/cocoapods/1.11.2_2/libexec/bin/pod:23:in `<main>'

My package.json contains:

  "dependencies": {
    "@capacitor/core": "^3.0.0",
    "@capacitor/ios": "^3.0.0",
    "angular": "^1.8.2",
    "angular-animate": "^1.8.2",
    "angular-hammer": "^2.2.0",
    "angular-local-storage": "^0.7.1",
    "angular-sanitize": "^1.8.2",
    "foundation-icon-fonts": "^0.1.1",
    "foundation-sites": "^6.6.3",
    "hammerjs": "^2.0.8",
    "what-input": "^5.2.7"
  },

My system is:

  • macOS Monterey 12.2.1
  • Intel Processor (so no Rosetta)
  • XCode 13.3
  • Ruby 2.6

Is this a Ruby problem and what can I do to fix it?

Solved. Google was my friend.

I had to separately install this:

gem install CFPropertyList