asdfでphpとrubyのバージョン管理を共存させる。
asdf
http://asdf-vm.com/guide/getting-started.html#_1-install-dependencies
ターミナルはbashを使ってる事を前提としています。
asdfインストール
$ brew install asdf
$ echo -e "\n. $(brew --prefix asdf)/etc/bash_completion.d/asdf.bash" >> ~/.bash_profile
PHPを入れる下準備
$ brew install \
coreutils automake autoconf openssl \
libyaml readline libxslt libtool unixodbc \
unzip curl
$ brew install autoconf automake bison freetype gettext icu4c krb5 libedit libiconv libjpeg libpng libxml2 libzip pkg-config re2c zlib
PHPを扱うプラグインを入れる。
$ asdf plugin add php
利用可能なPHPを表示
$ asdf list-all php
7.4.27 インストール
$ asdf install php 7.4.27
composerとかも一緒に入る。
rubyを入れる
プラグイン入れる
$ asdf plugin add ruby
利用可能なバージョンの確認
$ asdf list-all ruby
asdf install ruby 3.1.0
複数バージョン入れた場合 asdf local *** で指定のバージョンをそのディレクトリだけで使う adsf global *** でOS自体の言語バージョンをそれに変える
その他
node python Elixir
あたりもいけますが、とりあえずphpとrubyでかち合わなければ良しとします。
asdf のglobal,localでのバージョン切り替え
OS全体で php 8.1.4を使う場合
$ asdf global php 8.1.4
あるディレクトリのプロジェクトだけ(そnターミナル)で使う場合
$ asdf local php 8.1.4
asdfの中のphp.iniを探す
$ vi $(asdf where php)/conf.d/php.ini
laravelとかで extension=fileinfo