CodeCode

なんか色々おぼえ書き。だいたいweb制作関連。

OS X El CapitanにSass、Compassをインストールしてハマった

compass

突然のエラー

先日、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
トップへ戻る