🐢
asdf で node-build の定義ファイルを手動更新する
asdf で Node.js を扱う場合、内部的には node-build によってインストール可能なバージョンとアーカイブの URL の定義ファイルが管理されている。
この定義ファイルが数日更新されないこともあり[1]、そういう場合に手動でローカルの定義ファイルを更新して新バージョンをインストールする方法を毎回忘れるのでメモに残しておく。
手順だけ書くとこれ。
DIR=/tmp/node-defs
mkdir -p $DIR
npx -p @nodenv/node-build-update-defs nodenv-update-version-defs -f -d $DIR
NODE_BUILD_DEFINITIONS=$DIR asdf install nodejs 21.0.0
node-build-update-defs
は node-build が定義ファイルを生成しているツールで、これをローカルで動かすには、nodenv プラグインとして動かす方法と npm パッケージとして動かす方法が用意されてる。asdf は nodenv を持ってないので、今回は npm パッケージとして動かす。
nodenv-update-version-defs
の実行時に生成する定義ファイルの場所を指定してあげて、それを asdf の実行時にも環境変数 NODE_BUILD_DEFINITIONS
経由で渡してあげれば動く。
Discussion