Reputation: 661
Does anybody know why after updating to Mac OS El Capitan gem
has started giving errors for install
or update
commands?
Example:
$ sudo gem update
Password:
Updating installed gems
Updating bundler
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/bundle
For some reason the path has to be set explicitly. Example:
$ sudo gem install -n /usr/local/bin sass
Password:
Fetching: sass-3.4.19.gem (100%)
Successfully installed sass-3.4.19
Parsing documentation for sass-3.4.19
Installing ri documentation for sass-3.4.19
Done installing documentation for sass after 6 seconds
1 gem installed
This is pretty annoying! Is there a way to make /usr/local/bin
default?
Upvotes: 4
Views: 2690
Reputation: 479
If you use homebrew, there is another solution you can try in the below commands. This does involve installing the homebrew version of Ruby. This fixed the problem for me, although I'm middling in my knowledge of Unix. So I can't speak to how wise or unwise it is to give yourself ownership of /usr/local. Maybe a Unix expert can chime in here.
$ sudo chown -R $(whoami):admin /usr/local
$ brew update
$ brew install ruby
Source: http://www.hacksparrow.com/os-x-el-capitan-screwed-up-ruby-gems-and-how-to-fix-it.html
Upvotes: 2
Reputation: 11383
This is not directly answering your question, but since your accepted answer is a little dangerous, I would like to share how I solved the actual issue of not being able to install a gem.
In my case I was having a problem with compass and had the same error, which is what I entered in my search and Google brought me here. I ran
sudo gem install -n /usr/local/bin compass
But if you are doing a fresh install on a new computer. Make sure that you have bash installed. Here is a brief transcript of what I did.
Upvotes: 4
Reputation: 86
Having the same problems, found this:
csrutil disable
source: https://georgegarside.com/blog/osx/package-incompatible-installer/
Upvotes: 2