cumet04 / dotfiles

MIT License
3 stars 0 forks source link

asdfを入れる #18

Closed cumet04 closed 9 months ago

cumet04 commented 9 months ago

概要

anyenvの代わりにasdfを入れ、あわせてgoとterraformのインストールをasdfに寄せた

背景

偶然最近気に入っているOSSを淡々と紹介するという記事を見て、rtxというツールが紹介されており気になっていた。また別件で、仕事でterraformのバージョン切り替えをやりたいと漠然と思っていたこともあり、入れてみることにした。

概ね良さそうだったのだが、rbenvやnodenvなどと違い、ツールのバージョン切り替えはhook-envという要するにdirenvな機能を使って実現されており、vscode拡張対応がシンプルにできないことがわかった。 ※この仕様は意図的なようで、インタラクティブシェルで使うのであれば高速かつシンプルに動くようだ

そこでrtxの利用はやめることにしたが、READMEにrtx is inspired by [asdf](https://asdf-vm.com/)とあり、またasdfというのもよく聞くし、上記仕様の話を見るにasdfはrbenvなどと近い方式で動いていそう(vscode拡張対応が今まで通りできる)に見えたため、そちらを検討することにした。

rtxよかったところ

従来の状況

anyenv

十分に動いているし、特に問題があったわけではない。

強いて言うなら

あたり。

go

もともとサードパーティのaptソースを使っていたが、Ubuntuディストリ更新への追従に時間がかかったこと・ちょうどその時期にgoをそこそこ最新で触っていたことから、最新に追従しやすい公式ダウンロード(の自前実装)に切り替えていた。

最近はgoはそんなに使っていないし、基本的に即最新がほしい訳でもないし、ansibleの実装がそこそこごちゃついていたのもあり、割と軽いノリで切り替えてみることにした。

goはプロジェクトごとにバージョン切り替えする需要は無いので、基本的にset globalのみで運用する想定。

terraform

公式apt方式だったので健全な入れ方をしていたが、仕事上で複数のterraform(というかcdktf)プロジェクトを触る状況になったので、切り替え方法が欲しかった。

それ以外に特に不満はなかった。

asdf雑感

名前がアレで敬遠していたが、まぁ普通に一枚板なanyenvという感じで良さげ。色々あるのがスッキリしたのでよかった。

node-buildruby-buildは明示的に入れずとも勝手によろしくやってくれるし、list allしたときには都度アップデートするので、anyenv update相当が必要無い。このあたりは使い勝手としてとても良い。 ※少なくとも今回入れたruby, node, go, terraformはプラグインのコードを見て確かめた

気になる点でいえば、

くらい。

cumet04 commented 9 months ago

その他検討中の一連のツール導入が終わったらwsl再インストールを実施し、問題なければmerge