「asdf」というバージョン管理ツールで環境構築をしよう❗
こんにちは、おおとろ(@digiangler)です。
以前、 anyenv という様々な env 系のバージョンを複数インストールできる管理ツールについて書きました。
最近、積み上げ中である Docker や Kubernetes などを管理できるツールを探していたら、asdf というバージョン管理ツールがありました。
asdf は、kubectl や terraform 、awscli、docker-slim などの多種多様なツールのバージョン管理も行うことができます。
何かと便利なので、anyenv から asdf にローカル環境を変更することにしました。
asdf のインストール
注意:情報が古くなっている場合がありますので、必ず、本家「asdf-vm」のGitHubリポジトリを参照しながらやりましょう。
依存するパッケージをインストールします。
brew install coreutils curl git
asdf をインストールします。
brew install asdf
or
brew install asdf --HEAD
Git からインストールしたい場合はこちら。
git clone https://github.com/asdf-vm/asdf.git ~/.asdf
cd ~/.asdf
git checkout "$(git describe --abbrev=0 --tags)"
最後にパスを通します。
# zsh の場合
echo -e "\n. $(brew --prefix asdf)/asdf.sh" >> ${ZDOTDIR:-~}/.zshrc
# fish shell の場合
echo -e "\nsource "(brew --prefix asdf)"/asdf.fish" >> ~/.config/fish/config.fish
アップデートするときはこちら。
brew upgrade asdf
プラグインのインストール
プラグイン共通で使うパッケージがあるのでインストールします。
すでにインストール済みの場合はスキップしましょう。
brew install \
coreutils automake autoconf openssl \
libyaml readline libxslt libtool unixodbc \
unzip curl
利用できるプラグインのリストを表示します。
asdf plugin list all
プラグインをインストールします。
# asdf で管理されているプラグインの場合
asdf plugin add <プラグイン名>
# asdf で管理されていないプラグインの場合
asdf plugin add <プラグイン名> <プラグインのURL>
# 例:awscli
asdf plugin add awscli https://github.com/MetricMike/asdf-awscli.git
インストール済みのプラグインを確認します。
asdf plugin list
バージョン管理
利用できるバージョンのリストを確認します。
asdf list all <プラグイン名>
# 例:awscli
asdf list all awscli
インストールしたいバージョンを指定してインストールします。
asdf install <プラグイン名> <バージョン>
# 例:awscli
asdf install awscli 2.2.1
インストール済みのバージョン一覧を確認します。
asdf list <プラグイン名>
# 例:awscli
asdf list awscli
利用したいバージョンを指定します。
グローバル環境で使うバージョンを固定するには、asdf global コマンドを利用します。
asdf global <プラグイン名> <バージョン>
# 例:awscli
asdf global awscli 2.2.1
ディレクトリ単位でバージョンを固定するとき。
asdf local <プラグイン名> <バージョン>
# 例:awscli
asdf local awscli 2.2.1
現在の環境で有効となっているバージョンを確認します。
asdf current <プラグイン名>
# 例:awscli
asdf current awscli
プラグインがない場合は、自作プラグインを作成することもできるようです。
公式ドキュメントはこちら。
以上
おわり
ツールを一本化したいという動機から anyenv から asdf へ移行しましたが、今のところ不便はないですね。Docker などのコンテナでプロジェクト環境を構築していますが、コンテナにまだ慣れていないので、そういうときは asdf は非常に便利ではないでしょうか。
最後まで、読んで頂きありがとうございました❗
読んだ証明として、1 日 1 回クリックをお願い致します m(_ _)m
👇
人気ブログランキング
それでは、また。
是非、感想をコメントや SNS でくださると嬉しいです。
Twitter: @digiangler
Instagram: @digi_angler
また、スキボタンを ”こっそり” 押したり、サポートしてくださるのも、とても嬉しいです。
"こっそり" Twitter からのリツイートでの感想もくださると嬉しいです。