Lex B
Lex B

Reputation: 871

How do I install ruby gems on Mac

How do I install RubyGems on my Mac?

I tried to run $ gem install rubygems-update with no luck. It returns:

ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.

Any help would be great. Thanks

Upvotes: 87

Views: 156867

Answers (6)

tpko
tpko

Reputation: 101

In the case when you see an older version of ruby in the directory that it's trying to access and you have a fresh install you can remove the ruby version folder in .gem directory in your home folder. For me it was ~/.gem/ruby/2.4.1/. Gem will automatically detect the new version (that you can install both using brew or rbenv) and act accordingly.

This will remove all gems hovewer so keep that in mind.

Upvotes: 0

mrjamesmyers
mrjamesmyers

Reputation: 494

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

Upvotes: 14

Tulon
Tulon

Reputation: 4124

It is showing that you don't have permission to write something in that directory. Instead, use this directory :

sudo gem install -n /usr/local/bin cocoapods

It works perfectly for me.

(I am using macOS Sierra, version 10.12.6)

Upvotes: 3

melMass
melMass

Reputation: 5169

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

On Mac, you can run:

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

However, 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

Upvotes: 139

Olleg
Olleg

Reputation: 1034

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.

Upvotes: 20

Sagar Pandya
Sagar Pandya

Reputation: 9497

You may have to install manually in which case (as per the official website):

  1. Go to the official website and download the zip file
  2. Unzip the file in a directory.
  3. Then go to the directory in your terminal and run: ruby setup.rb

Upvotes: 3

Related Questions