ERROR: While executing gem ... (Errno::EPERM) Operation not permitted
RubyMacosRubygemsOsx ElcapitanCompassRuby Problem Overview
I just updated my Mac to OSX 10.11 El Capitan and some gems didn't remain.
The problem arose when I tried to run installations of different gems... e.g.:
> sudo gem install compass
Once I execute, I get the error:
> ERROR: While executing gem ... (Errno::EPERM) Operation not permitted
This happens with other gems, as well...
I've run Homebrew and tried to install Ruby again, but nothing is working.
Ruby Solutions
Solution 1 - Ruby
I found the answer on SASS issues: https://github.com/sass/sass/issues/1768
Since OSX el Capitan
there is a new security function that prevents you from modifying system files called Rootless. So you have 2 options:
-
If you install gems on
/usr/local/bin
there will be no problem because rootless doesn't affect this path. -
sudo gem install -n /usr/local/bin GEM_NAME_HERE
Solution 2 - Ruby
You are experiencing this issue because of a new security feature called System Integrity Protection
You can disable SIP by following the process mentioned below:
- Reboot your Mac into Recovery Mode by restarting your computer and holding down Command+R until the Apple logo appears on your screen.
- Click Utilities > Terminal.
- In the Terminal window, type in csrutil disable and press Enter.
- Restart your Mac.