久しぶりにWindowsに回帰したので初期設定メモ
https://qiita.com/takyam/items/a5071e48a49799e93084
↑の記事で書いたように、久しぶりにMacからWindowsに戻ったんですが、
無事にUbuntu(デュアルブート)に落ち着いたのでその備忘録です。
Windowsの何が問題だったか
WSL2でUbuntu20.04を立ち上げて運用してたんですが、基本的には素晴らしい体験でした。
「Windows上でこんなにサクサクWeb開発ができるなんて!」という感動を覚えます。
「あぁ〜これでWindows回帰できるわ〜」「MacもARMになるしWin回帰勝ったんじゃね」みたいな謎の自信に満ち溢れてたんですが、最終的にダメでした。
問題その1: WinとUbuntuはどこまでいっても別モノ
まず、細かい問題として、「localhost以外は勝手にproxyしてくれない」です。
たとえば、 npm run dev
して localhost:3000
なサーバーがWSL2 Ubuntu上で起動したとして、
ブラウザはホストのWindows側のChromeから参照する場合、
そこはWSL2がいい感じに「3000はUbuntu側やな」って感じでproxyしてくれるので、サックリ閲覧できます。
最初はWSL2がproxyしてくれてることにすら気づかず、「何か普通に動きよった」って感覚です。
じゃぁ何が問題かっていうと 127.0.0.1 hoge.fuga.local
みたいな hosts
を設定すると動きません。
いや、あとから考えれば「そりゃそやろ」なんですが、localhostをあまりにも自然にproxyしてくれるので、なぜか hoge.fuga.local
にアクセスできず、非常に困りました。
ここでは ${ubuntuのローカルIP} hoge.fuga.local
を指定するのが正しいです。
これに気づいてから「こいつWin上に構築された謎技術のすごいUbuntuかと思ったら、ただの最適化されたVMか・・・?」みたいな感覚が強くなりました(よくわかってない)
hostsもUbuntu側とWindows側の両方に正しく定義する必要があり、まぁどこまでいっても別OSだなと。
とはいえコレは知ってれば特にトラブルにもなりにくいレベルの話なので、そんなに大きな問題じゃないです。
問題その2: なんか死んで編集中のファイルが消える
なんか死にます。
Ubuntu上にcloneしたgitレポジトリで、npm run devしたり、WEBサーバ動かしたりとかしながら開発してました。
IntellijからもUbuntuのdiskは透過的に見えるの、で C:\Users\xxx\AppData\Local\Packages\...
みたいなパスで参照すればいけるです。
なので、普通に楽しく開発をできるんですが、たまにフリーズします。Windowsが。
特にパフォーマンス低下や遅延みたいなのを感じることなく開発していけるんですが、
半日とか開発してるあたりで、急にWindowsがフリーズします。
マウスもキーボードもディスプレイタッチも何も反応せず、「くっそー」と思いながら電源長押しからの再起動します。
嫌ですけど、半日に1回起こるか起こらないか、くらいなのでこれくらいなら耐えれるのですが、
このとき、 編集中のファイルが空になってしまうことがよく起こりました。
つまり、開発中の差分が吹っ飛びます。これは辛い。
特定のファイルに数十行の修正を加えてて、ここ2−3時間commitしてない、みたいな状況のときにフリーズし、再起動すると空ファイルになってるんです。
Ctrl+Zで戻ろうにも、OS再起動してるので戻れるわけもなく、Intellijのlocal historyにも残って無く、なんていうか、全てが消え去ります。
これを3回くらって、心が折れました。辛いて。
特に回避策とかぐぐっても「I have same issue!」みたいなのしか見当たらず、ぐぬぬって諦めました。
結論
Ubuntuデュアルブート最高です。
Ubuntu20.04のデスクトップ初めて触ったですが、とてもいい感じです。とても。