HIDARI日記(右)

そのときどき興味ある技術を中心にだらだら書いてます。内容は個人の見解であり、所属する企業を代表するものではありません。

brew install時にディレクトリの権限周りの問題でハマった

Macの環境構築で homebrew と zsh と nodebrew と pyenv を導入した手順 - HIDARI日記(右)

の手順で、長年使ってるMacにhomebrewでzshをインストールしようとして以下のエラーが発生した。

Error: Could not create /usr/local/Cellar
Check you have permission to write to /usr/local

/usr/local に書き込み権限がないため、 Cellarディレクトリが作れないと言っている。

なので手作業でディレクトリを作ってから再度インストールを試みる。

sudo mkdir /usr/local/Cellar
brew install zsh

すると今度は以下のエラーが…

Error: /usr/local/Cellar is not writable. You should change the
ownership and permissions of /usr/local/Cellar back to your
user account:
  sudo chown -R $(whoami) /usr/local/Cellar
Error: Cannot write to /usr/local/Cellar

指示に従ってコマンドを実行し、三度インストールを実行する。

sudo chown -R $(whoami) /usr/local/Cellar
brew install zsh

次は以下のエラーが発生した。

Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink .
/usr/local/opt is not writable.

You can try again using:
  brew link zsh

/usr/local/opt に書き込めるようにすればいい様子。なので先程と同じ要領で chown を実行する。

sudo chown -R `whoami`:admin /usr/local/opt
chown: /usr/local/opt: No such file or directory

そもそも /usr/local/opt がないらしい。作って再度実行する。

sudo mkdir /usr/local/opt
sudo chown -R `whoami`:admin /usr/local/opt
brew link zsh
Error: Could not symlink lib/zsh
/usr/local/lib is not writable.

今度は /usr/local/lib がダメらしい。調べてみるとこれもそもそもディレクトリが存在しないようなので作って

sudo mkdir /usr/local/lib
brew link zsh
Linking /usr/local/Cellar/zsh/5.4.2_3... 
Error: Could not symlink lib/zsh
/usr/local/lib is not writable.

まだダメ。ちょっと調べてみて Homebrew: Could not symlink, /usr/local/bin is not writable - Stack Overflow を参考にして以下を実行

sudo chown -R `whoami`:admin /usr/local/bin
brew link zsh
Linking /usr/local/Cellar/zsh/5.4.2_3... 1351 symlinks created

上手くいったっぽい。

行き当たりばったりで雑に動くようにしたけど、これでよかったのか自信はない。