Web エンジニアが macOS Sierra にアップグレードしてやったこと
Posted on
- #mac
個人で使っている MacBook Air を OS X El Capitan から macOS Sierra にアップグレードしました。 Web 系の開発をするにあたって、いくつか作業が必要だったのでメモを残しておきます。
Command Line Tools のインストール
Xcode の Command Line Tools をインストールし直します。 OS をアップグレードすると旧バージョンは削除されるようで、毎回これにハマっています。
$ xcode-select --install
Command Line Tools は /Library/Developer/CommandLineTools
にインストールされます。
Homebrew を使えるようにする
El Capitan にアップグレードした際に Homebrew でハマったので、念のため brew doctor
を実行したらいくつか Warning が出ました。
$ brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry and just ignore them. Thanks!
Warning: /usr/local is not writable.
You should change the ownership and permissions of /usr/local
back to your user account.
sudo chown -R $(whoami) /usr/local
Warning: /usr/local is not writable.
Even if this directory was writable when you installed Homebrew, other
software may change permissions on this directory. For example, upgrading
to OS X El Capitan has been known to do this. Some versions of the
"InstantOn" component of Airfoil or running Cocktail cleanup/optimizations
are known to do this as well.
You should change the ownership and permissions of /usr/local back to
your user account.
sudo chown -R $(whoami) /usr/local
Warning: You are using OS X 10.12.
We do not provide support for this pre-release version.
You may encounter build failures or other breakages.
Please create pull-requests instead of filing issues.
アップグレードによって /usr/local
のオーナーが root
に変わったようなので、自分のアカウントに戻しておきます。
$ sudo chown -R $(whoami) /usr/local
最後に出ている "Warning: You are using OS X 10.12." は対応されるのを待つしかないですね。
影響を受けなかったもの
ホームディレクトリにインストールしているものは影響を受けませんでした。
- rbenv (Ruby)
- ndenv (Node.js)
- JDK (Java)
macOS Sierra から Java が同梱されなくなりましたが、自分でインストールした Oracle Java はそのまま残っていました。
QuarantineRoot を確認する
El Capitan から root 権限でも /bin
, /sbin
, /usr
, /System
に書き込めないようになりました。いわゆる rootless と呼ばれているものです(正式には System Integrity Protection という機能です)。
アップグレードすると保護されたディレクトリに存在する Apple 以外のファイルが次のディレクトリに移動させられます。
/Library/SystemMigration/History/Migration-<UUID>/QuarantineRoot
El Capitan からアップグレードした場合は影響は少ないと思いますが、Yosemite からアップグレードした場合は QuarantineRoot に重要なファイルが含まれていないか確認しておきましょう。
まとめ
El Capitan のときに比べれば、大きな変更もなくすんなりとアップグレードできました。これからアップグレードする方の参考になれば嬉しいです。