homebrew-phpがdeprecatedになったのでphp71-*がインストールできない
おしごとでやってるPHPのプロジェクトでいつも通りの作業をこなしていたら、突然 pcntl
がないぞ的なエラーが。
えー、この前の brew update
とか brew upgrade
とかが原因かー?と思いながら、 brew install php71-pcntl
と見つからないと言われる。
ちょっと待ってなにこれ。
原因
結論から言いますと、こちらの通りです。
非常に助かりました。感謝 :bow:
以下、ほぼ上記のブログと同様のことがメモとして書いてあります。
homebrew-phpがdeprecatedになって、homebrew-coreに移行されたらしい。
ということでhomebrew-phpは全て消して、移行後のものを再インストールすることに。
brew list | grep php
で php71-*
の諸々を確認して brew uninstall php71-*
でひとつずつアンインストールしていく。
brew uninstall php71
も最後に忘れずに。
なんか自分の環境だと php@7.1(homebrew-coreのPHP)
も入ってたので brew uninstall --force php@7.1
も実行した。
綺麗になったら brew install php@7.1
。
僕はfishを使ってるので下記のようにパスを通す。
$ echo 'set -g fish_user_paths "/usr/local/opt/php@7.1/bin" $fish_user_paths' >> ~/.config/fish/config.fish $ echo 'set -g fish_user_paths "/usr/local/opt/php@7.1/sbin" $fish_user_paths' >> ~/.config/fish/config.fish
パスを通したらターミナル再起動。
which php
でパス確認。
php -v
で警告が出てくるので /usr/local/etc/php/7.1/conf.d/
以下を削除した(削除前にちゃんと確認すること)。
$ ls /usr/local/etc/php/7.1/conf.d/ $ rm /usr/local/etc/php/7.1/conf.d/*.ini
これで警告が消える。
pcntl
は php -m | grep pcntl
で無事確認できた。