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 も正常に動くようになった。
注意
上記の当サイトの環境に関する情報は、その後変更された内容が多数含まれます。
- Tailwind CSS v2.0 – Tailwind CSS
- Upgrade Guide - Tailwind CSS
- Manage build dependencies | Netlify Docs
- nvm/README.md at master · nvm-sh/nvm (github.com)
- [WSL2] File changes made by Windows apps on Windows filesystem don't trigger notifications for Linux apps · Issue #4739 · microsoft/WSL (github.com)
- WSL2からWSL1にダウングレードしたい - Memento (yoshinorin.net)