WSL で React Tutorial が開始できなかったのをなんとか出来るようにした

create_react_app のスタートが出来なかった

$ npx create_react_app アプリ名

は問題なかった。
次の段階で、yarn start せよ、とあったのだが、ここでエラーが発生。

Error: spawn cmd.exe ENOENT

こんな感じのエラーが発生し、WSL上で作業しているのに cmd.exe が出るのはどういうことだと。

そして起動方法

結論から言うと、スタート時にブラウザ起動のコマンドを実行するみたいなんだが、WSL 上だと cmd.exe が見つからずエラーになってる模様。

解決策としては、2つあって

  1. cmd.exe へのPATHを設定するらしい
    ※出来るのか未確認
    $ export PATH=$PATH:/mnt/c/Windows/System32
  2. ブラウザ起動をしないようにする
    $ BROWSER=none yarn start

自分の場合「2. ブラウザ起動をしないようにする」で無事に起動した。

他にも同様の理由で起動できないコマンドとかありそう……

参考: https://github.com/facebook/create-react-app/issues/7251

Jetbrains の Intellij 製品に WSLを自分で追加する

開発界隈でちょっと肩身が狭いWindows

会社でPCを支給されるんですが、開発が全員 Mac だそうで、ただそれだとどう考えても今からMacに変更して技術を覚えるコストが人生と割に合わない。

そんなわけで駄々こねて Windows 10 を支給してもらってる。

今やWSLの選択肢がある中で、そもそも Mac にするメリットも個人的にはあまり思いつかないので個人的には強く推奨していきたいWindows 10。

iOS系アプリの開発する場合は別だけど、ことWeb開発においてはどっちでもイイレベル。

WLinux は Pengwin に名前が変わりました。

で、今回は WLinux が Pengwin に名称が行われた関係でWSLとして認識されなくなっているのを修正する。

下記のファイルを変更する。

C:\Users\ユーザー名\AppData\Roaming\JetBrains\使用中IDEバージョン\options\wsl.distributions.xml
(2020/09/16更新:パスを変更)

<descriptor>
  <id>PENGWIN</id>
  <microsoft-id>WLinux</microsoft-id>
  <executable-path>pengwin.exe</executable-path>
  <presentable-name>Pengwin</presentable-name>
</descriptor>

descriptorを追加するか、もはや使えないWLinuxを変更するかはお好みで。

おそらくIntelliJ(WebStorm, PhpStorm, Pycharm…)製品共通だろうと思われ。

参考
WSLを使ってリモートインタープリターを設定する