プロジェクトの環境構築にあたりphp7. 1が必要ということで、
Homebrewにてphp7. 3と共存環境構築した際のメモ。
いや本当に、ダウングレードって骨が折れる、と思い知ったので
(なるべくならアップデートだけをしていけると平和ですよね)、
同じことで心と時間を消耗する方が1人でも減るように記録を残します。
エラー内容が
% brew search php@7
==> Formulae
brew-php-switcher php@7.2
exolnet/deprecated/php@5.6 php@7.3
exolnet/deprecated/php@7.0 phplint
exolnet/deprecated/php@7.1 phpmd
0の方向けの記事になります!
環境
- macOS Catalina
- php 7. 3(デフォルト)
- zsh
Homebrewインストール
Homebrewをインストールします。
(Homebrewインストールについてはたくさん記事あるので割愛します)
インストールができたら、念の為ドクターコマンドをかけると安心感あります。
ピカピカのmacであれば問題ないでしょう。
不要ファイルや問題がある場合は解決策を示してくれます。
phpのパッケージを探す
% brew search php@7
==> Formulae
php@7.2 php@7.3 php@7.4
はい、出てきません。
サポート終わるので、生きてるリポジトリから消されております。
いなくなった@7. 1を探しにいきます。
墓場(安眠)と接続する
deprecatedされたphp7. 1はこちらにいます。
https. //github. com/eXolnet/homebrew không dùng nữa
「Installation」に記載の通り、下記を実行します。
brew tap exolnet/homebrew-deprecated
すると、
% brew search php@7
==> Formulae
brew-php-switcher php@7.2
exolnet/deprecated/php@5.6 php@7.3
exolnet/deprecated/php@7.0 phplint
exolnet/deprecated/php@7.1 phpmd
1以下に、% brew search php@7
==> Formulae
brew-php-switcher php@7.2
exolnet/deprecated/php@5.6 php@7.3
exolnet/deprecated/php@7.0 phplint
exolnet/deprecated/php@7.1 phpmd
2というディレクトリができます。※
% brew search php@7
==> Formulae
brew-php-switcher php@7.2
exolnet/deprecated/php@5.6 php@7.3
exolnet/deprecated/php@7.0 phplint
exolnet/deprecated/php@7.1 phpmd
3で、deprecatedリポジトリをクローンしてきているだけですので、もし「古いのはいらないぜ!」ってなった場合は、このフォルダをまるっと削除すれば墓場との接続は解除されます。ではもう一度試してみましょう。
% brew search php@7
==> Formulae
brew-php-switcher php@7.2
exolnet/deprecated/php@5.6 php@7.3
exolnet/deprecated/php@7.0 phplint
exolnet/deprecated/php@7.1 phpmd
出ました。インストールします。
% brew install exolnet/deprecated/php@7.1
インストールが終わると、ご丁寧にパスを通してね、との旨のアナウンスが出るので、従います。
________số 8
こちらを実行すると、
% brew search php@7
==> Formulae
brew-php-switcher php@7.2
exolnet/deprecated/php@5.6 php@7.3
exolnet/deprecated/php@7.0 phplint
exolnet/deprecated/php@7.1 phpmd
4に% brew search php@7
==> Formulae
php@7.2 php@7.3 php@7.4
0と出力されて、
% brew search php@7
==> Formulae
brew-php-switcher php@7.2
exolnet/deprecated/php@5.6 php@7.3
exolnet/deprecated/php@7.0 phplint
exolnet/deprecated/php@7.1 phpmd
5コマンドをたたいたときに、Homebrewのphp@7. 1をむいてくれるようになります。php7. 1を動かす(せない)
さあ、では別のターミナルを開いて、いざ実行!
% brew search php@7
==> Formulae
php@7.2 php@7.3 php@7.4
2ん。
% brew search php@7
==> Formulae
brew-php-switcher php@7.2
exolnet/deprecated/php@5.6 php@7.3
exolnet/deprecated/php@7.0 phplint
exolnet/deprecated/php@7.1 phpmd
0こちらでググったところ、「icu4c(というライブラリ)のv64がないよ」と言われて起動しません。
確認します。
% brew search php@7
==> Formulae
php@7.2 php@7.3 php@7.4
4たしかにないです。はいっているのは67. 1です。
先程のphp@7. 1インストール時、このicu4cが必要なのでDLがはしってるんですが、
ログをよく見ると、同様のワーニングが出てこけいます。
そう、これまた最新のicu4cでは配布版が67になっちゃっているので、動きません・・!(涙)
[余談]下記、ダメだったやつ
パッケージアップデート説
「
% brew search php@7
==> Formulae
brew-php-switcher php@7.2
exolnet/deprecated/php@5.6 php@7.3
exolnet/deprecated/php@7.0 phplint
exolnet/deprecated/php@7.1 phpmd
7でいけたよ!」「
% brew search php@7
==> Formulae
brew-php-switcher php@7.2
exolnet/deprecated/php@5.6 php@7.3
exolnet/deprecated/php@7.0 phplint
exolnet/deprecated/php@7.1 phpmd
8でいけたよ!」⇒色々あるんですが、Homebrewはいれたてピカピカでしたのでボツ。
オプションつける説
「
% brew search php@7
==> Formulae
brew-php-switcher php@7.2
exolnet/deprecated/php@5.6 php@7.3
exolnet/deprecated/php@7.0 phplint
exolnet/deprecated/php@7.1 phpmd
9でいけたよ!」⇒icu4c 64エラーで怒られた。ボツ。
https. //github. com/eXolnet/homebrew-deprecated/issues/27#issuecomment-696179914
ロウ(生)データアクセス説
「
% brew install exolnet/deprecated/php@7.1
0で64. 2おとせるよ!」⇒生データは落とさないでと怒られた。ボツ。
% brew search php@7
==> Formulae
php@7.2 php@7.3 php@7.4
9php7. 1を動かす(くようにする)
おそらく私と同様の手順は試し尽くして、世界で同様に悩んでいる女性が見つけた答えが。
(Your 2days saves me 💐 と言いたい)
https. //github. com/eXolnet/homebrew-deprecated/issues/27
なに、git使ってゴニョゴニョする・・だと・・?
さらに調べてみると、より詳しく手順を載せてくれている方が。
https. //ý chính. github. com/sawant/6ea10e45de7d09e966a1dc6afea3bffb
時を戻そう。 ←
手順詳細
① ターミナルを新規で開く。
② Homebrewのgitディレクトリに移動する。
brew tap exolnet/homebrew-deprecated
0③
% brew install exolnet/deprecated/php@7.1
1で、icu4c. rb関連のログを確認。わさわさと出てくるので、自分が戻りたいバージョンのコミットidを確認。brew tap exolnet/homebrew-deprecated
0④該当のコミットid時点のブランチから、新規チェックアウトして、ブランチを移動。
% brew install exolnet/deprecated/php@7.1
2brew tap exolnet/homebrew-deprecated
1% brew install exolnet/deprecated/php@7.1
3で今いるブランチ確認できます。brew tap exolnet/homebrew-deprecated
2⑤icu4c. rbを再インストール
brew tap exolnet/homebrew-deprecated
3インストールが開始されます。問題なくいけたら、
⑥もともと開いていたターミナルの画面(あるいは新規ターミナル開く)で、icu4cのバージョンを確認
brew tap exolnet/homebrew-deprecated
4下がった🙌
ということで、新規ターミナルを開いて、
% brew install exolnet/deprecated/php@7.1
4 実行すると。brew tap exolnet/homebrew-deprecated
5動いた!🎉
※動かない方は、Homebrewのphpが動作してない可能性があるので、
% brew install exolnet/deprecated/php@7.1
5など実行してみてください。使うのを止めたいときは、
% brew install exolnet/deprecated/php@7.1
6で止められます。https. //ocws. jp/blog/i-raised-my-macs-php-version-to-7-3/
最新の状態に戻る
もし一時的に下げたいということでしたら、7. 1で行いたい作業が完了したら、7. 3に戻したいですよね。
そのときの手順も念の為書いておきます。
①新規ターミナルを開く
②Homebrewのgitディレクトリへ移動、ブランチ確認
brew tap exolnet/homebrew-deprecated
6チェックアウトしたブランチ(過去)にいるはずなので、
③マスターに戻る、(そしてブランチ再確認)
brew tap exolnet/homebrew-deprecated
7ブランチ確認すると、masterブランチに戻っています。
この状態で逆にicu4cが古くてphp7. 3が動かないよ!とかなった場合は、
新規ターミナル開いて、
brew tap exolnet/homebrew-deprecated
3ってしてあげれば最新のicu4cがインストールされます。
% brew search php@7
==> Formulae
php@7.2 php@7.3 php@7.4
4おわりに
- 私はめぐりめぐってHomebrewのインストールからやり直した民なので、どなたかの救いになればこれ幸い
- ターミナルはバンバン新規で開くのがよろし
- ありがとう世界の開発者たち(の知見)
以上です!