7

I use Flutter with Android Studio on a Mac.

One day (today), I ran "flutter doctor" from the command line.

It stated that my "cocoapods" was not good enough.

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.0.1, on Mac OS X 10.15.7 19H524 darwin-x64, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[!] Xcode - develop for iOS and macOS
    ! CocoaPods 1.8.4 out of date (1.10.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.
[✗] Chrome - develop for the web (Cannot find Chrome executable at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[✓] Android Studio (version 4.1)
[✓] IntelliJ IDEA Community Edition (version 2020.3.2)
[✓] Connected device (1 available)

It suggested clicking on this link for instructions on what to do.

The instructions said to run this command on the command line:

sudo gem install cocoapods

So I ran that command but it had an error:

Building native extensions. This could take a while...
ERROR:  Error installing cocoapods:
    ERROR: Failed to build gem native extension.

    current directory: /Library/Ruby/Gems/2.6.0/gems/ffi-1.15.0/ext/ffi_c
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -I /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0 -r ./siteconf20210311-2675-ybimov.rb extconf.rb
checking for ffi.h... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/$(RUBY_BASE_NAME)
    --with-ffi_c-dir
    --without-ffi_c-dir
    --with-ffi_c-include
    --without-ffi_c-include=${ffi_c-dir}/include
    --with-ffi_c-lib
    --without-ffi_c-lib=${ffi_c-dir}/lib
    --enable-system-libffi
    --disable-system-libffi
    --with-libffi-config
    --without-libffi-config
    --with-pkg-config
    --without-pkg-config
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:467:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
    from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:585:in `block in try_compile'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:534:in `with_werror'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:585:in `try_compile'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:1109:in `block in have_header'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:959:in `block in checking_for'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:361:in `block (2 levels) in postpone'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:331:in `open'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:361:in `block in postpone'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:331:in `open'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:357:in `postpone'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:958:in `checking_for'
    from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/mkmf.rb:1108:in `have_header'
    from extconf.rb:10:in `system_libffi_usable?'
    from extconf.rb:42:in `<main>'

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /Library/Ruby/Gems/2.6.0/extensions/universal-darwin-19/2.6.0/ffi-1.15.0/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /Library/Ruby/Gems/2.6.0/gems/ffi-1.15.0 for inspection.
Results logged to /Library/Ruby/Gems/2.6.0/extensions/universal-darwin-19/2.6.0/ffi-1.15.0/gem_make.out 

I tried reinstalling completely according to the troubleshooting guide like this:

sudo gem uninstall cocoapods
sudo gem install cocoapods

I am not a C programmer or a systems analyst... just trying to learn Flutter.

What is the error-free command to update cocoapods?

6 Answers 6

25

You could try:

brew install cocoapods
Sign up to request clarification or add additional context in comments.

Comments

8

Thank you sftom, that was the basic answer and a major step in the right direction.

In my particular case, the entire process was:

brew upgrade
brew install cocoapods

and, since I got the following error during the above step:

Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/xcodeproj
Target /usr/local/bin/xcodeproj
already exists. You may want to remove it:
  rm '/usr/local/bin/xcodeproj'
brew link --overwrite cocoapods

Comments

3

I think I got error exactly same with you.

In my case, I tried all of thing I found and failed.

After fighting 2 hours with my Mac I finally succeeded with these two commands:

First, this command update my something. (probably ruby 2.6 to 2.7)

$ sudo gem update --system

And then, this command which I typed in maybe one hundred times before.

$ sudo gem install cocoapods

This way, I got cocoapods 1.10.2

Comments

1

Updating cocoapods in project (when you already installed them and updated flutter, for example) steps:

flutter pub get
flutter precache --ios
go to /ios folder
pod update
pod install --repo-update

Comments

0

I got the "Warning: CocoaPods recommended version 1.10.0 or greater not installed." warning after upgrading to Flutter 2.

In my case, brew install cocoapods failed for me.

What did work was $ sudo gem install cocoapods as noted in the CocoaPods Guide and suggested by flutter doctor

Comments

0

✅ Working 2025 Fix: Update CocoaPods for Flutter on Apple Silicon

If you’re using an Apple Silicon Mac and running into CocoaPods issues (Invalid Podfile, architecture errors, or pod install failures), this is a clean reset that worked for me in 2025. Some steps are probably overkill or unnecessary.

# Clean Flutter and iOS build artifacts
flutter clean
cd ios
rm -rf Podfile.lock Pods .symlinks
cd ..


# ---- NEW Terminal window (outside your Flutter project folder)

# Uninstall Ruby (if installed via Homebrew) and all cocoapods gems
brew uninstall ruby --force
gem list --local | grep cocoapods | awk '{print $1}' | xargs sudo gem uninstall

# Reinstall ffi and cocoapods (x86_64 for Apple Silicon)
sudo arch -x86_64 gem install ffi
sudo arch -x86_64 gem install cocoapods

# Fix permissions to avoid CocoaPods cache issues
sudo chown -R $(whoami) ~/Library/Caches/CocoaPods
sudo chown -R $(whoami) ~/.cocoapods

# Verify cocoapods updated correctly
flutter doctor

# ----------------------------------------------------------------


# Back in your Flutter project folder
flutter pub get
flutter run  # or use your IDE debugger

⚠️ Avoid running pod install manually — it often leads to issues, in my experience. Flutter automatically installs pods when running flutter build/run.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.