TIL

asdfからrtxに乗り換えた

バージョン管理ツールをasdfからrtxに乗り換えてみた。

ちょっと前に「もうanyenvは古い、これからはasdfだ」と耳にした気がするけど、もう新しい人が現れたらしい。コマンドラインツールの進化は早い。

rtx

rtxはrustで書かれたasdfのクローンで、asdfに比べて20〜200倍のパフォーマンスだったり、shimを使わなくなってたり、UXが改善されたりしているらしい。

rust製っていうだけで速そうに感じる。

https://github.com/jdxcode/rtx

rtxのインストール

rtxのインストールはasdfと大体同じで、バイナリをダウンロードしたあとにシェルのフックを登録するだけ。ダウンロードの手段は複数用意されている。

私はHomebrewで管理したいのと、zshユーザなので下記のとおり。

brew install rtx
echo 'eval "$(rtx activate zsh)"' >> ~/.zshrc

rtxでなにかをインストール

rtxはasdfのプラグインと.tool-versionsと互換性があり、基本的な使い方はasdfと同じ。

  1. プラグインのインストール
  2. 指定バージョンのインストール
  3. global or localで有効化

ただし、rtxだとプラグインのインストールは必要に応じて自動でやってくれるのでスキップできる。asdfのこの3ステップは地味に忘れやすいのでこの改善はありがたい。

asdfからの乗り換え

asdfから乗り換えた場合、以前使っていたバージョンは.tool-versions(もしくは.ruby-versionのような各言語のバージョンファイル)に書かれているが、rtxで未インストールのバージョンはrtx listで赤字表記されるようになっている。

確かに速い

速いといっても体感はできないだろうなーと思っていたけど、asdf経由とrtx経由でコマンド実行の速度が明らかに違ってた。asdfで入れたコマンドだと一瞬引っかかる感覚があったが、rtxではそれがない。

まあ生産性に違いが出るほどかと言われるとそうでもないので、自己満足の範囲ではある・・・

参考文献

https://qiita.com/skyblue-jpn/items/44f762252ff80f9e4fc1

https://tech.buty4649.net/entry/2023/02/05/231401


たまにターミナル環境を整えると楽しくなって夜更かししてしまう。

今日はもう寝る。


<< 記事一覧へ