asdfは複数のプログラムの複数のバージョンを管理できて便利です。必要な時にひとつひとつインストールするのは別に苦にならないと思いますが、まっさらなパーソナルコンピュータ(PC)や仮想機械(VM)の設定を行う時には必要なプログラムを一氣にまとめてインストールしたくなります。
戦略を練る
プログラミング言語
ターミナルで直接使えるbashにすることにします。
繰り返し処理
複数の対象に対して同じ処理を行うには多分ループがそれ相当のものが必要であると考えられます。
bashでループ
これさえできれば、目的が達成できるはずです。
ネット検索して練習しました。
n=1; while true; do echo "闘魂 $n"; ((n++)); sleep 1; done
for n in 1 2 3; do echo $n; done
for n in {1..3}; do echo $n; done
bashに配列なんてあったんですね。
numbers=(1 2 3); for n in "${numbers[@]}"; do echo $n; done
これで技術的な準備はOK!
一氣にまとめてインストール
繰り返し処理以外はasdfの公式ドキュメントに書いてある通りです。
# asdfをインストール
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.12.0
# 万一インストールされたasdfのバージョンが最新でない場合にアップデート
asdf update
# インストールしたいasdfのプラグインの名称を配列に入れる
plugins=(
erlang
elixir
neovim
delta
fzf
lua
nodejs
ripgrep
shfmt
zig
)
# 配列に対して繰り返し処理
for plugin in "${plugins[@]}"; do
asdf plugin add "$plugin"
asdf install "$plugin" latest
asdf global "$plugin" latest
done
asdfをインストールした後のやり方がお使いのシェルによって異なるため、詳しくはasdfの公式ドキュメントをご参照ください。bashの場合は以下の通りです。
echo '. $HOME/.asdf/asdf.sh' >> ~/.bashrc
echo '. $HOME/.asdf/completions/asdf.bash' >> ~/.bashrc
source ~/.bashrc
プラグイン名の確認方法
プラグイン名はasdf-vm/asdf-pluginsのリポジトリで確認できます。
asdfをインストールした後は、asdf plugin list all
コマンドを打つと利用可能な全てのプラグインを列挙できます。あまりにも数が多いのでless
かgrep
にパイプするとみやすくなりそうです。
asdf plugin list all | less
asdf plugin list all | grep -e '^e'
asdfでよく使うコマンド
asdfの使い方を忘れたらこれを思い出してください。何も暗記する必要はありません。