Yosemite から Sierra に update した後、制作環境でエラーが出たので対処。
Sierra に update したら compass が使えなくなっていたので、その対処をメモしておきます。
El Capitan の対処と同じで良いらしい。
HomebrewはEl Capitanへアップグレードする前に入れておく
SIP/rootless の管理範囲内である /System, /bin, /sbin, /usr だとユーザは ( sudo したとしても)作業することが出来ないようです。
環境
MacBook Pro (Retina, Late 2013)
Homebrew と nodebrew を使っています。
compass が使えない。
1 Rubyのパスが通っていない
Warning: Running "compass:dist" (compass) task
Warning: You need to have Ruby and Compass installed and in your system PATH for this task to work. More info: https://github.com/gruntjs/grunt-contrib-compass Use --force to continue.
rbenvをインストール
% brew install rbenv ruby-build
.zshrc ファイルに環境変数追記
[[ -d ~/.rbenv ]] && \
export PATH=${HOME}/.rbenv/bin:${PATH} && \
eval "$(rbenv init -)"
rubyのインストール
% rbenv install 2.2.2
% rbenv global 2.2.2
% ruby -v
ruby は rbenv で管理するのが良いらしい。
参考にさせていただきました。
rbenvを使用している場合、rbenvを使っているならば `/.rbenv/' 以下にインストールされるため、問題なく進むようです。
2 gem が /usr/bin/に入らない
% sudo gem install sass
/usr/bin/に入れない
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/sass
install場所の変更
% sudo gem install -n /usr/local/bin sass
参考にさせていただきました。
OS X 10.11 (El Capitan) でSASSがインストールできない場合の対処法
3 zsh で bundle が使えない
% bundle -v
zshで使えない
zsh: command not found: bundle
gem の インストール先を確認
% gem environment
出力されたリストのパスをコピー(EXECUTABLE DIRECTORY のとこ)
- EXECUTABLE DIRECTORY: /Users/{NAME}/.rbenv/versions/2.2.2/bin
~/.zshrc の環境変数を設定する。
export PATH=$PATH:/.rbenv/versions/2.2.2/bin
環境変数を反映
% source ~/.zshrc
bunder インストール
% gem install bundler
% bundler -v
Bundler version 1.13.1
% rbenv rehash
これで、compass がインストールできるようになりました。
こちらも参考にさせていただきました。
OS X 10.11 El Capitanにアップデートするさいの注意点まとめ。
El Capitanへのアップデートで最も懸念されている問題が新たに登場するシステム保護機能(SIP: System Integrity Protection)通称”Rootless“で、これは「特定のディレクトリやアプリにカーネルレベルでロックをかけ、管理者レベル(root)でもアクセスを制限し、マルウェアなどの感染を防ぐ」というもので、 この制限は”rootless.conf“で設定されており、プリインストールされたアプリケーションおよび以下のディレクトリにはrootユーザーでもアクセスできなくなります。
/System
/bin
/usr
/sbin