Cover Image for asdf で Node.js をインストールする

asdf で Node.js をインストールする

 

Node.js・Ruby・PHP...いろいろな開発言語のバージョン切り替えを一括管理できる大変便利な env 系ツール、asdf。理解を深めるため、asdf で Node.js をインストールする手順をまとめました。

GitHub から asdf を Clone

Homebrew 経由でも導入できますが、公式のおすすめに従ってgit cloneで導入します。現時点での最新リリースのタグ v0.11.3 を指定しています。

git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.11.3

asdf の読み込み

~/.zshrc に以下コマンドを追加します。fig を使っている場合は Dotfiles > Scripts に追加すると、一元管理できて良い感じがします。

. $HOME/.asdf/asdf.sh

設定ファイルを再読み込みして、asdf のバージョンを確認してみます。

# .zshrc に追加した場合
source .zshrc
❯ asdf version
  v0.11.3-0adc6c1
# fig の Scripts に追加した場合
❯ fig source
❯ asdf version
  v0.11.3-0adc6c1

asdf で Node.js を管理できるようにプラグインを追加

の前に asdf プラグインが依存するパッケージを Homebrew でインストールします。

❯ brew install gpg gawk

Node.js のプラグインを asdf 追加して Shims を更新します。

❯ asdf plugin add nodejs
❯ asdf reshim

Node.js のインストール

latest オプションをつけて、最新版をインストールしてみます。 19.8.1 がインストールされました。

❯ asdf install nodejs latest
❯ asdf list nodejs
  19.8.1

インストール可能なバージョンは asdf list all nodejs で確認でき、バージョンを指定してインストールすることもできます。バージョン 18.15.0 を追加してみます。

❯ asdf install nodejs 18.15.0
❯ asdf list nodejs
  19.8.1
  18.15.0

Node.js のバージョンを指定

使用するバージョンをグローバルで指定してみたら、エラーが出てしまいました。

❯ asdf global nodejs 18.15.0
❯ tail: /Users/takenorioshima/.tool-versions: No such file or directory

グローバルのバージョン指定で参照される .tool-versions が存在しないため、エラーとなっているようです。ホームディレクトリに空の .tool-versions を作成します。

touch ~/.tool-version

再度指定すると設定ができました。現在グローバルで指定されているバージョンはasdf list nodejsの一覧に*が付いていることで確認できます。

❯ asdf global nodejs 18.15.0
❯ asdf list nodejs
 *18.15.0
  19.8.1
node -v
v18.15.0

Yarn を有効化する

Node.js のバージョンが >= 16.10 の場合は、以下コマンドで yarn を有効化できました。簡単!

❯ corepack enable yarn
❯ asdf reshim
❯ yarn -v
1.22.19