DEV Community

runeleaf
runeleaf

Posted on

macにasdfをinstallする

asdfってなに?

https://asdf-vm.com/

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
Enter fullscreen mode Exit fullscreen mode

branchは適時確認します。

$ echo '. $HOME/.asdf/asdf.sh' >> ~/.zshrc
Enter fullscreen mode Exit fullscreen mode

zshは再読み込みしておきます。

$ asdf version
Enter fullscreen mode Exit fullscreen mode

sheldon

zshのプラグインマネージャにsheldonを利用しているので、その設定を記載します。
sheldonのインストールや設定はまた別の機会にします。

vim ~/.sheldon/plugins.toml

[plugins.asdf]
github = "asdf-vm/asdf"

$ asdf version
Enter fullscreen mode Exit fullscreen mode

zinit

私はsheldonに移行したため、zinitは過去の設定なのですがこちらも記載します。

$ vim ~/.zshrc

zinit light asdf-vm/asdf

$ asdf version
Enter fullscreen mode Exit fullscreen mode

試す

以下のコマンドでインストールできるプラグインの一覧が出力されます。

$ asdf plugin list all
Enter fullscreen mode Exit fullscreen mode

rubyプラグインを追加

$ asdf plugin add ruby
Enter fullscreen mode Exit fullscreen mode

rubyをインストール

$ asdf list all ruby
...
3.1.2
3.2.0-dev
...

$ asdf install ruby 3.1.2
Enter fullscreen mode Exit fullscreen mode

システム全体で利用、またはプロジェクト毎に設定します。

$ asdf global ruby 3.1.2

or

$ cd prj1
$ asdf local ruby 3.2.0-dev
Enter fullscreen mode Exit fullscreen mode

最後に

同様にredisやpostgresもインストールしてバージョン管理できますが、最初に言ったとおり正直それはDockerでいいかな、という気がしています。

とはいえasdfはかなり多くの言語を一括で管理できるので、これまでバラけていたバージョン管理が多少楽にはなるのではないかなと思います。

Top comments (0)