長らくMacのツール整備周りではマイナー?なMacPortsを使ってきましたが、なんとなくそろそろモダンな感じにしたくなったので、ガラリと入れ替えることにしてみました。
MacPorts周りで直近も使っていそうなものとしては、aws-vault git sshpass iperf3 zstd xz libusbあたりでしたが、どれもHomeBrewで代替可能なので、HomeBrew化します。
別途asdfを、aws-cliとOpenTofuのバージョン管理に利用していたのですが、使っているMacによってはこれらを手動インストールをしていたので、ここはasdfに統一しました。また、asdfの導入もHomeBrewでするようにしました(ここはまだ統一できてない)。
MacPortsで導入していたPythonについては、uvで代替してみることにしました。uv独自のプロジェクト系のコマンドはまだあまり使いこなせていないので、現状は単にPythonの導入と、uv toolでAnsibleを入れる程度になっています。uvの導入もHomeBrewでやりました。
以下は自分向けメモ。3台分あるので手順書として。
HomeBrewの導入
何回目かの導入。XとかQuartzの要件がなくなったので今度こそいけるとおもう。
Homebrew — The Missing Package Manager for macOS (or Linux)
そしてMacPortsで使用していたツール+asdf+uvを導入します。
$ brew install aws-vault git sshpass iperf3 zstd xz libusb asdf uv
asdfで管理しているツールの整備
まずはインストール済みのものを削除します。
# aws-cli $ sudo rm /usr/local/bin/aws $ sudo rm /usr/local/bin/aws_completer $ sudo rm -rf /usr/local/aws-cli # OpenTofu $ sudo rm -rf /opt/tofu_1.6.2_darwin_arm64
次にプラグインを追加して、最新版を導入。
# aws-cli $ asdf plugin add awscli $ asdf install awscli latest # OpenTofu $ asdf plugin add opentofu $ asdf install opentofu latest
~/.tool_versionsにバージョンを書いて固定します。
$ vi ~/.tool_versions awscli 2.34.18 opentofu 1.11.5
uv
Pythonも気づけば3.14がリリースされていたので、3.14を導入します。このあたり、MacPortsでは3.10〜3.12が混在するカオスになっていました……。
$ uv python install --default 3.14
Ansibleの導入はuv toolコマンドを使うと、Python環境全体で使えて良いらしいので、これを使いました。Ansibleが時折ライブラリを必要としてくるので、そういうときは--withオプションで指定すると良いようです。requestsを追加しました。おそらく今後も必要になるパッケージはありそう。
$ uv tool install --with requests ansible-core $ uv tool install ansible
環境変数周り
MacPorts周りを消して、homebrew、asdf、uv周りのパスが追加されしました。また、pip/pip3コマンドはuv pipコマンドのエイリアスにしました。
eval "$(/opt/homebrew/bin/brew shellenv zsh)"
export PATH="${ASDF_DATA_DIR:-$HOME/.asdf}/shims:$PATH"
export PATH="$HOME/.local/bin:$PATH"
alias pip="uv pip"
alias pip3="uv pip"
さっぱり
バージョン管理ツールが増えた(asdf、uv)ので、さっぱりしたのかと言われるとよくわからんですが、環境によっては手動で入れていたものがバージョン管理できるようになったり、uvでpipの高速化が出来たりと良いことは多いので、いい感じになったかなと思います。