🐴

asdf使ってみた

2023/12/19に公開

この記事は みすてむず いず みすきーしすてむず (3) Advent Calendar 2023 19日目の記事です。

n番煎じの記事かわからないがasdf入門記事です。
備忘録用にめちゃくちゃ緩く書きます。

はじめに

最近nodebrew経由でインストールしたNodeに振り回されて苦労したので勉強も兼ねてasdfに入門してみる。

why asdf?

asdfを選んだのはディレクトリ毎にバージョンを切り替えられる部分に魅力を感じたから。他のツールでも出来るかもだけど・・・
後は身近で使ってる人がいたから。
でも正直1番の理由はコマンドが打ちやすいから

nodebrewのアンインストール

brew uninstall nodebrew
sudo rm -rf /usr/local/include/node
sudo rm -rf /usr/local/lib/dtrace
rm -rf ~/.node-gyp
rm -rf ~/.npm
rm -rf ~/.sourcemint

残党狩り

which node

出てきたら同じようにrm -rf ...で消す。
Homebrew経由で他にnode関連ツール入れてる場合はbrew listでそれっぽいものが出たらbrew uninstall ...で消す。anyenvとか

ここまでして

node -v

npm -v

command not foundエラーが返ってくればおk。

asdfインストール

公式ドキュメントに環境毎のやり方が書いてある。

macの場合は.zshrcにパス指定しろって出てくるので忘れずに

使い方

ではNodeをインストールしてみます。
asdf plugin-list-allでインストール可能なプラグインが全て出てくるのでgrepしましょう

asdf plugin-list-all | grep node

nodejs                        https://github.com/asdf-vm/asdf-nodejs.git

Nodeがasdfでインストール可能なプラグインとして存在してる事が確認できました。
のでプラグインを追加して

asdf plugin add node https://github.com/asdf-vm/asdf-nodejs.git

バージョンを指定してインストールしましょう。今回は最新版が欲しいのでlatest指定で。

asdf install node latest

これでインストールできました。

インストールした後は実際に使用するバージョンを指定します。
グローバルにバージョンを指定するなら

asdf global [プラグイン] [version]

プロジェクト毎にディレクトリで切り替えたいなら

asdf local [プラグイン] [version]

です。

使ってみた感想

とにかくコマンドが打ちやすいです。
正直まだ使い始めて時間が経っていないのでここがいいとかここが気になるみたいなのはないんですが、PythonやGo、terraformなんかもasdfで管理出来るので全てをhomebrewで一元管理してた時よりバージョン管理が楽な気がしています。

おわり

Discussion