Reputation: 871
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
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
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
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
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
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
Reputation: 9497
You may have to install manually in which case (as per the official website):
ruby setup.rb
Upvotes: 3