asdfってなに?
asdfとは各種プログラミング言語のバージョン管理を行うことができるクライアントツールです。
rubyだとrbenv、nodejsだとnodenv、またそれらを一括で管理できるようにanyenvといったコマンドツールを利用していましたが、昨今の開発現場では様々な言語・ミドルウェアが利用されるため、もともとanyenvで管理していたものをasdfに乗り換えてみようということです。
Dockerに閉じ込めてしまえばいいのでは?と思うこともありますが、まあそれはそれで・・・といった感じです。
準備
Getting Startedの通りに進めていけばすんなり設定できると思います。
いくつか方法はありますが、今回はmac上でかつzshを利用しているシーンでのインストール方法をいくつか記載します。
git clone
gitとcurlはインストールされている前提です。
$ git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.10.2
branchは適時確認します。
$ echo '. $HOME/.asdf/asdf.sh' >> ~/.zshrc
zshは再読み込みしておきます。
$ asdf version
sheldon
zshのプラグインマネージャにsheldonを利用しているので、その設定を記載します。
sheldonのインストールや設定はまた別の機会にします。
vim ~/.sheldon/plugins.toml
[plugins.asdf]
github = "asdf-vm/asdf"
$ asdf version
zinit
私はsheldonに移行したため、zinitは過去の設定なのですがこちらも記載します。
$ vim ~/.zshrc
zinit light asdf-vm/asdf
$ asdf version
試す
以下のコマンドでインストールできるプラグインの一覧が出力されます。
$ asdf plugin list all
rubyプラグインを追加
$ asdf plugin add ruby
rubyをインストール
$ asdf list all ruby
...
3.1.2
3.2.0-dev
...
$ asdf install ruby 3.1.2
システム全体で利用、またはプロジェクト毎に設定します。
$ asdf global ruby 3.1.2
or
$ cd prj1
$ asdf local ruby 3.2.0-dev
最後に
同様にredisやpostgresもインストールしてバージョン管理できますが、最初に言ったとおり正直それはDockerでいいかな、という気がしています。
とはいえasdfはかなり多くの言語を一括で管理できるので、これまでバラけていたバージョン管理が多少楽にはなるのではないかなと思います。
Top comments (0)