node.js開発にはWSL1


久しぶりに技術系のエントリーを書く。

このサイトは GatsbyJS で書かれている。React系のフレームワークであり当然ながら動作確認などには node.js が必要である。

今回、このサイトに使っている Tailwind CSS がバージョンアップしたとの報に接し [^1] バージョンアップ作業をすることにしたが、 node.js の要求バージョンが上がっている [^2] 。

現在当サイトは Netlify 上で公開されているが、Netlify 上でビルドに node.js v10 が使われていたので、まずは Netlify でのバージョンアップの適用法を調べると、nvmのバージョン設定のための方法とある [^3] 。設定するはいいが、Windows環境にバージョンの同期を取るのは難しいと考え、Windows Subsystem for Linux (WSL) 環境に nvm を入れて node.js を動かす方法を考えた。

nvmのインストール自体は通常のLinux環境と同じである [^4]。よってインストール自体は問題なく終了し、実際に npm run dev を実行するも、ファイルの更新によりリビルドが走らない [^5]。現状、ファイルの変更をリアルタイム検知しなければならないLinuxアプリケーション(例えばリアルタイムトランスパイラ)は、WSL1で動かすしかないということである。

ということでWSL2で構築したUbuntu環境をWSL1に移す方法を調べると、コマンドライン一つで移行できる [^6] ということなので早速移行し、Ubuntu環境に入ってみると設定したnvmはそのまま、npm run dev も正常に動くようになった。

https://images.prismic.io/penguinone/9924fd8f-bce6-4e32-bbe6-7142f42db99d_WSL-version.png?auto=compress,format

上記の当サイトの環境に関する情報は、その後変更された内容が多数含まれます。