brew install phpが実行できない
MacOSをBigsurからVentureにアップデートしました。VentureではPHPが標準でインストールされていないので、brew insatall php
でインストールしようとしたがエラーが発生。
Error: Failure while executing; `/usr/bin/env cp -pR /private/tmp/d20230821-25559-arl6cn/autoconf/. /usr/local/Cellar/autoconf` exited with 1. Here's the output:
cp: /usr/local/Cellar/autoconf/./2.71: Permission denied
(省略)
cp: utimensat: /usr/local/Cellar/autoconf/.: Permission denied
解決策
以下のコマンドで/usr/local/
ディレクトリ内のファイルとディレクトリの所有者を変更したことで解決しました。
sudo chown -R $(whoami) /usr/local/*
上記コマンドを実行後、brew install php@8.1
でPHP8.1をインストールするとエラーは発生しませんでした。
インストールしただけでは使えないので、下記のコマンドでPATHを通します。
echo 'export PATH="/usr/local/opt/php@8.1/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/usr/local/opt/php@8.1/sbin:$PATH"' >> ~/.zshrc
PATHを通した後に下記コマンドでバージョンを確認できました。無事成功です。
php -v
問題の原因?
ユーザーアカウントを2つ持っていて、新しく作ったアカウントでこの問題が起こりました。そのことから以前使用していたアカウントとの競合が発生したのかも?(正確な原因は不明)
他に試したこと
Homebrewのアンインストール・インストール
Homebrewのバージョンが古く、下記コマンドでアップデートしようとしましたが上手く行かなかったので一度アンインストールしました。
brew update
こちらの記事を参考にさせていただきました。
しかしHomebrewを新しくしただけではエラーは解決しませんでした。
brew doctor
brew doctor
で原因を探せるとのことなので、実行しました。
% 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 or file an issue; just ignore this. Thanks!
Warning: You have unlinked kegs in your Cellar.
Leaving kegs unlinked can lead to build-trouble and cause formulae that depend onthose kegs to fail to run properly once built. Run `brew link` on these:
pkg-config
rbenv-communal-gems
ruby-build
yarn
nodebrew
autoconf
node
rbenv
Warning: You have an unnecessary local Core tap!
This can cause problems installing up-to-date formulae.
Please remove it by running:
brew untap homebrew/core
Warning: Your Xcode (10.3) is too outdated.
Please update to Xcode 14.3 (or delete it).
Xcode can be updated from the App Store.
Warning: Your Xcode (10.3) is outdated.
Please update to Xcode 14.3 (or delete it).
Xcode can be updated from the App Store.
4つほど問題が発見されたので、解決していきました。
1.brew linkコマンドの実行
Homebrewでインストールしたパッケージがリンクされておらず、依存関係に問題があるらしい?ので下記コマンドを実行。
brew link pkg-config rbenv-communal-gems ruby-build yarn nodebrew autoconf node rbenv
2.brew untapコマンドの実行
Homebrewが不必要なcore
を持っているため、最新パッケージをインストールする際に問題が起きているらしいです。
指示されているとおりコマンドを実行します。
brew untap homebrew/core
3.Xcodeをアップデート
Xcodeのバージョンが古いので、AppStoreで最新バージョンにアップデートしました。
特にコマンドなどは必要ありません。
上記3つの対策を行った後に再度brew doctor
を実行すると、、、
% brew doctor
Your system is ready to brew.
問題は解決できたようです。
しかし、これでもエラーは治りませんでした。
まとめ
とても苦労しましたがなんとかPHPをインストールすることができました。正確な原因がわからないのが心残りですが、、、
直接的な解決にはなりませんでしたが、brew docotr
は今後も活用していきたいですね。
ネット記事やchatGPTを活用しながら一人で解決することができたので、いい経験になりました。