Reputation: 4569
using zsh - use to work in bash
brew doctor - Your system is ready to brew.
flutter doctor gives this error
[!] Xcode - develop for iOS and macOS (Xcode 12.2)
✗ CocoaPods installed but not working.
You appear to have CocoaPods installed but it is not working.
This can happen if the version of Ruby that CocoaPods was installed with is different from the one being used to invoke it.
This can usually be fixed by re-installing CocoaPods. For more info, see https://github.com/flutter/flutter/issues/14293.
To re-install CocoaPods, run:
sudo gem install cocoapods
sudo gem install cocoapods
Gives this error
dyld: Library not loaded: /usr/local/opt/gmp4/lib/libgmp.3.5.2.dylib
Referenced from: /Users/puser/.rvm/rubies/ruby-2.5.1/bin/ruby
Reason: image not found
zsh: abort sudo gem install cocoapods
I can't get this error above corrected - any suggestions?
which pod
/Users/puser/.rvm/rubies/ruby-2.5.1/bin/pod
which gem
gem () {
\typeset result
(
\typeset rvmrc
rvm_rvmrc_files=("/etc/rvmrc" "$HOME/.rvmrc")
if [[ -n "${rvm_prefix:-}" ]] && ! [[ "$HOME/.rvmrc" -ef "${rvm_prefix}/.rvmrc" ]]
then
rvm_rvmrc_files+=("${rvm_prefix}/.rvmrc")
fi
for rvmrc in "${rvm_rvmrc_files[@]}"
do
[[ -s "${rvmrc}" ]] && source "${rvmrc}" || true
done
unset rvm_rvmrc_files
command gem "$@"
) || result=$?
hash -r
return ${result:-0}
}
which ruby
/Users/puser/.rvm/rubies/ruby-2.5.1/bin/ruby
Upvotes: 24
Views: 33672
Reputation: 558
I saw many people suggesting using rvm to manage rudy. I tried it but failed. In fact, flutter just wants me to install cocoapods. Why not simply install cocoapods directly? I ended up using
brew install cocoapods
solved this problem
Upvotes: 1
Reputation: 11
With the latest version of Flutter (require ruby 2.7.2) so these steps below worked for me:
Upvotes: 1
Reputation: 13890
First install brew
package manager for Mac.
https://brew.sh
If you use macOS, system Ruby is not recommended. and you should not use it. its for system specific use. you need to install another one for user.
brew install rbenv
then install the latest version of ruby. as today its 3.1.0
rbenv install 3.1.0 --verbose
then set the global version of Ruby to be used in all shells
rbenv global 3.1.0
close the terminal and reopen it again, to affect the changes.
and finally install cocoapods
gem install cocoapods
as you see you don't use sudo
command. because you are not overriding system specific configurations. when you need to use sudo
command means you are doing something that you should avoid it.
if you are using fastlane
and still complaining about cocoapods
, even cocoapods
is installed properly, reinstall fastlane
again:
brew uninstall fastlane
gem install fastlane
if you have issues with the ruby zlib extension when building 3.1.0:
brew install zlib
LDFLAGS=-L/usr/local/opt/zlib/lib CPPFLAGS=-I/usr/local/opt/zlib/include rbenv install 3.1.0
Upvotes: 10
Reputation: 84
@Aboonajmi's answer was really helpful but I would like to add something that may be more user-oriented in the case of Apple Chip M1/M2, for every command if you encounter fail result, add the "arch -arm64" for the command to run properly, for example:
arch -arm64 brew install rbenv
or
sudo arch -arm64 gem install cocoapods
Notice to use sudo
when installing with gem.
Hope my information can be helpful.
Upvotes: -1
Reputation: 103
This error took me about one week to solve :( The problem is mentioned clearly in the flutter output like this This can happen if the version of Ruby that CocoaPods was installed with is different from the one being used to invoke it. I had a lot of versions of ruby installed on my mac So this error happened to solve this error follow these steps
Upvotes: 1
Reputation: 189
sudo gem install -n /usr/local/bin cocoapods
Just run this command for installing the latest version of coc
Upvotes: 0
Reputation: 21
Please install latest version of ruby to solve this issue. Use this command
rvm install ruby
rvm use ruby
rvm --default use
Upvotes: 0
Reputation: 741
url -L https://get.rvm.io | bash -s stable
rvm install ruby-2.6
rvm reinstall ruby-2.6.6
rvm use ruby-2.6.6
rvm --default use 2.6.6
sudo gem install cocoapods
flutter doctor
Output will be like this...
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.10.4, on macOS 12.4 21F79 darwin-arm, locale
en-GB)
[✓] Android toolchain - develop for Android devices (Android SDK version
32.0.0-rc1)
[✓] Xcode - develop for iOS and macOS (Xcode 13.4.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.2)
[✓] VS Code (version 1.68.1)
[✓] Connected device (1 available)
[✓] HTTP Host Availability
Upvotes: 0
Reputation: 1829
Use brew and gem
first uninstall by gem
sudo gem uninstall cocoapods
Install cocoapods by brew
brew install cocoapods
link using brew
brew link --overwrite cocoapods
Upvotes: 19
Reputation: 1
sudo gem uninstall cocoapods
rvm install 2.6.5
sudo gem install cocoapods
Upvotes: 0
Reputation: 516
curl -L https://get.rvm.io | bash -s stable
rvm install ruby-2.6
rvm use ruby-2.6.5
rvm --default use 2.6.5
sudo gem update
sudo gem install ffi
brew install libffi
sudo gem install cocoapods
pod setup
this worked for me
Upvotes: 2
Reputation: 4569
Using the suggestion for this post, I was able to get cocoapods reinstalled with the commands below
gem native extension error while installing cocoapods
Open Terminal
curl -L https://get.rvm.io | bash -s stable
Reopen Terminal
rvm install ruby-2.6
rvm use ruby-2.6.5
rvm --default use 2.6.5
Then this installed cocoapods as expected
sudo gem install cocoapods
Upvotes: 55