Công thức không hợp lệ usr/local/homebrew/library/taps exolnet/công thức homebrew không dùng nữa php 5.6 rb

プロジェクトの環境構築にあたり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
9

php7. 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
2

brew 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のインストールからやり直した民なので、どなたかの救いになればこれ幸い
  • ターミナルはバンバン新規で開くのがよろし
  • ありがとう世界の開発者たち(の知見)

以上です!

Chủ Đề