asdfからrtxに乗り換えた
バージョン管理ツールをasdfからrtxに乗り換えてみた。
ちょっと前に「もうanyenvは古い、これからはasdfだ」と耳にした気がするけど、もう新しい人が現れたらしい。コマンドラインツールの進化は早い。
rtx
rtxはrustで書かれたasdfのクローンで、asdfに比べて20〜200倍のパフォーマンスだったり、shimを使わなくなってたり、UXが改善されたりしているらしい。
rust製っていうだけで速そうに感じる。
rtxのインストール
rtxのインストールはasdfと大体同じで、バイナリをダウンロードしたあとにシェルのフックを登録するだけ。ダウンロードの手段は複数用意されている。
私はHomebrewで管理したいのと、zshユーザなので下記のとおり。
brew install rtx
echo 'eval "$(rtx activate zsh)"' >> ~/.zshrc
rtxでなにかをインストール
rtxはasdfのプラグインと.tool-versions
と互換性があり、基本的な使い方はasdfと同じ。
- プラグインのインストール
- 指定バージョンのインストール
- global or localで有効化
ただし、rtxだとプラグインのインストールは必要に応じて自動でやってくれるのでスキップできる。asdfのこの3ステップは地味に忘れやすいのでこの改善はありがたい。
asdfからの乗り換え
asdfから乗り換えた場合、以前使っていたバージョンは.tool-versions
(もしくは.ruby-version
のような各言語のバージョンファイル)に書かれているが、rtxで未インストールのバージョンはrtx list
で赤字表記されるようになっている。
確かに速い
速いといっても体感はできないだろうなーと思っていたけど、asdf経由とrtx経由でコマンド実行の速度が明らかに違ってた。asdfで入れたコマンドだと一瞬引っかかる感覚があったが、rtxではそれがない。
まあ生産性に違いが出るほどかと言われるとそうでもないので、自己満足の範囲ではある・・・
参考文献
たまにターミナル環境を整えると楽しくなって夜更かししてしまう。
今日はもう寝る。