How do I install ruby gems on Mac

Solution 1:

I would highly suggest using a package manager and a Ruby Environment Manager.

On Mac:

brew update
brew install ruby

# If you use bash
echo 'export PATH=/usr/local/Cellar/ruby/2.4.1_1/bin:$PATH' >> ~/.bash_profile 

# If you use ZSH:
echo 'export PATH=/usr/local/Cellar/ruby/2.4.1_1/bin:$PATH' >> ~/.zprofile

You can do that but I suggest using an Environment Manager for Ruby. You have rbenv and RVM.
IMO go for rbenv:

brew install rbenv ruby-build

# bash
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile  

# zsh
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zprofile
echo 'eval "$(rbenv init -)"' >> ~/.zprofile  

# list all available versions:
rbenv install -l

# install a Ruby version:
rbenv install 2.4.1

# set ruby version for a specific dir
rbenv local 2.4.1

# set ruby version globally
rbenv global 2.4.1

rbenv rehash
gem update --system

Solution 2:

One more variant is to use brew-gem.

https://formulae.brew.sh/formula/brew-gem

https://github.com/sportngin/brew-gem

Just copy/paste from the documentation:

brew install brew-gem

Usage

brew gem install heroku

To install a specific version: brew gem install heroku 3.8.3

To install using a brew installed ruby(/usr/local/bin/ruby): brew gem install heroku --homebrew-ruby

And with a specific version: brew gem install heroku 3.8.3 --homebrew-ruby

To upgrade: brew gem upgrade heroku

To uninstall: brew gem uninstall heroku

To check information: brew gem info heroku

Note: Installed gems are listed in brew list with prefix of gem-, like gem-heroku.

Solution 3:

After installing cocoapods as Tulon suggested the thing which worked for me was passing the --user-install flag to the gem install command e.g

gem install rubygems-update --user-install

from https://guides.cocoapods.org/using/getting-started.html#sudo-less-installation