Qiita Careers powered by IndeedPR

求人サイト「Qiita Careers powered by Indeed」では、エンジニアのあなたにマッチした求人が見つかります。

27
13

記事を削除する

一度削除した記事は復旧できません。

この記事の編集中の下書きも削除されます。

削除してよろしいですか?

この記事は最終更新日から3年以上が経過しています。

asdfが便利すぎる

27
最終更新日 投稿日 2022年12月21日

はじめに

これは KWC Advent Calendar 2022 の記事です。

KWCでバックエンドエンジニア 兼 クイズ作家 をしている広島在住の@nishihama-kwcです!
今回は、一緒に働いているメンバーが使ってたasdfというツールが便利すぎて泣いたので、その感動を共有したいと思います。

asdfとは

プログラミング言語やgitなどのツールを一括でバージョン管理できるコマンドラインツールです。
pyenvなどを使うと言語のバージョンを管理できますが、asdfは複数の言語やツールをまとめて管理できるのでとても便利で使いやすいと思います。
個人的には、ローカルでちょっとしたコードを最新の言語バージョンで実行したい時などに、専用のディレクトリを作って試すという使い方をしています。

使ってみる

インストール手順は公式ドキュメントにわかりやすく書いてありますが、ここではasdfを使ってMacに最新版のGoをインストールする手順を簡単に示します。

MacにHomebrewを入れている方は以下のコマンドでインストールできます。

% brew install asdf

インストールが終わったらバージョンを確認します。

% asdf --version
v0.10.2

Goのインストール

ここからはasdfにプラグインを追加という形でGoをインストールします。
まず、インストール可能なプラグインを以下で確認してみます。

% asdf plugin list all
...
golang                        https://github.com/kennyp/asdf-golang.git
...

Goのプラグインをインストール。

% asdf plugin add golang https://github.com/kennyp/asdf-golang.git

インストール可能なGOのバージョンを確認します。

% asdf list all golang
...
1.19.3

バージョンを指定してインストールします。

% asdf install golang 1.19.3

※インストール可能な最新バージョンを入れたい場合は以下でOK。
% asdf install golang latest

インストールされたバージョンを確認。

% asdf list golang
1.19.3

特定のディレクトリ(ここでは~/sandbox/golang)のみにGoのバージョンを適用したい場合は以下を実行。

% cd ~/sandbox/golang 
% asdf local golang 1.19.3

グローバルに適用する場合は以下を実行。

% asdf global golang 1.19.3

Goがインストールされているか確認。

% go version  
go version go1.19.3 darwin/amd64

Goのバージョンを切り替えたい

現在のバージョン1.19.3から1.19.2へ変更したい場合。

% asdf list all golang | grep 1.19.2
1.19.2
% asdf install golang 1.19.2
% asdf list golang
1.19.2
1.19.3

バージョン1.19.2を適用。

% cd ~/sandbox/golang 
% asdf local golang 1.19.2

or

% asdf global golang 1.19.2

バージョンもしくはプラグインを削除したい

インストールしたGoのバージョンを削除。(Goの1.19.2を削除)

% asdf uninstall golang 1.19.2

追加したプラグインを削除。

% asdf plugin remove golang

コマンドチートシート

list や allなどややこしいなと感じるところがあるので、表にまとめました。

やりたいこと コマンド
インストール可能なプラグインの一覧表示 asdf plugin list all
プラグインを追加 asdf plugin add <プラグイン名>
指定したプラグインのインストール可能なバージョンを一覧表示 asdf list all <プラグイン名>
プラグインのバージョンを指定してインストール asdf install <プラグイン名> <バージョン名>(or latest)
プラグインを指定してインストールされているバージョンを一覧表示 asdf list <プラグイン名>
カレントディレクトリにプラグインのバージョンを適用 asdf local <プラグイン名> <バージョン名>(or latest)
グローバルにプラグインのバージョンを適用 asdf global <プラグイン名> <バージョン名>(or latest)
指定されたプラグインのバージョンを削除 asdf uninstall <プラグイン名> <バージョン名>(or latest)
指定されたプラグインを削除 asdf plugin remove <プラグイン名>

おわりに

本稿では、プログラミング言語やgitなどのツールを一括でバージョン管理できるasdfコマンドについて書きました。使い始めると、asdfで管理できるツールは全て一括管理したくなりますし、同じ操作感でバージョン管理や変更できることに感動できると思います!
KWC Advent Calendar 2022 も終盤に差し掛かりました。怒涛のラストスパートもお楽しみに!

27
13
0

新規登録して、もっと便利にQiitaを使ってみよう

  1. あなたにマッチした記事をお届けします
  2. 便利な情報をあとで効率的に読み返せます
  3. ダークテーマを利用できます
ログインすると使える機能について
kwc_dev
ビジネス向けレンタルサーバー「CPI」の開発・保守に携わる、エンジニアで運営しています。自社サービスはもちろん、一部社内業務ツールも自社で開発。開発言語はPython、Node.js、PHP、TypeScript、Goなど。サービスを支える技術や、組織の裏側を発信していきます。

この記事は以下の記事からリンクされています

コメント

この記事にコメントはありません。

いいね以上の気持ちはコメントで

記事投稿キャンペーン開催中

27
13

記事を削除する

一度削除した記事は復旧できません。

この記事の編集中の下書きも削除されます。

削除してよろしいですか?

ログインして続ける

ソーシャルアカウントでログイン・新規登録

メールアドレスでログイン・新規登録