LoginSignup
2
1

More than 5 years have passed since last update.

Homebrew でインストールした Readline をバージョンアップしてしまって phpbrew が動かなくなったら

Last updated at Posted at 2019-02-04

考えなしな Homebrew の brew upgrade で、Readline のバージョンが7系から8系に更新してしまいました。
Homebrew でインストールしていたパッケージは依存関係が管理されているので問題ないはずですが、自前でコンパイルしていた依存関係のあるソフトウェアでは Library not loaded が発生するかと思います。
自分の環境では phpbrew と、phpbrew でインストールしていた PHP が動かなくなってしまいました。

正確に言えば、PHP を動かしたいなら brew switch readline 7.0.5 を、Homebrew でインストールした tig や hh を動かすときは brew switch readline 8.0.0 を、……いちいち切り替えないと動かないので面倒です。

この切り替えを上手いことして、Readline 7 でコンパイルした PHP を消去して Readline 8 でコンパイルし直せば解決するはずですが、phpbrew の動作には PHP が必要なので、ちょっと順番で手間取りました。

一応解決できた手順は以下の順序だったはず。

  • Readline のバージョンを 7 系に brew switch readline 7.0.5
  • phpbrew でインストールしていた PHP を全て phpbrew remove
  • Readline のバージョンを 8 系に brew switch readline 8.0.0
  • ~/.bashrcphpbrew を無効に(~/.phpbrew/bashrc のロードをコメントアウト)
  • Homebrewbrew install php(PHP 7.3.1 が入った)
  • ~/.bashrcphpbrew を有効化
  • 必要なバージョンの PHPphpbrew でインストール

ただ、そもそも phpbrew には Mac にインストールした PHP へ戻す仕組みがあるようなので、このコマンドを使っていればもっと簡単に解決できたのかもしれません。

COMMANDS
off Temporarily go back to the system php
switch-off Definitely go back to the system php

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1