
突然のエラー
先日、Macの調子が悪かったのでOSのアップデートついでにEl Capitanをクリーンインストールしました。 いつも通り、sudo gem install sass
sudo gem install compass
とインストールしようとするとエラーが起きる。
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/sass
調べてみると、El Capitanのシステム保護機能(通称:Rootless)が原因のようです。
Rootlessとは
OS X 10.11 El CapitanではOS Xの新たなセキュリティ整合性保護機能(SIP: System Integrity Protection)通称\"Rootless\"が導入されており、例え管理者権限(root)であっても\"/System\", \"/bin\", \"/usr\", \"/sbin\"ディレクトリにファイルの作成が出来なくなっています Appleちゃんねる(http://applech2.com/archives/46435268.html)クリーンインストールした場合だけでなく、アップデートした場合も/usr/binから退避させられて動かなくなっているようです。
インストール
ここにはRootlessを無効にする方法も載ってますが、この記事も触れてる通り、El Capitanが脆弱になるので別の方法でインストールしました。/usr/binではなく、/usr/local/binにインストールすることで対処できるようです。
sudo gem install -n /usr/local/bin sass
sudo gem install -n /usr/local/bin compass