はじめに
WSLでnpmコマンドを実行したらうまくいかなかった
問題
上記の現在のディレクトリで CMD.EXE を開始しました。
UNC パスはサポートされません。Windows ディレクトリを既定で使用します。
'jest' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
解決方法
nvmでnodeをインストールし直した
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install --lts
原因
WSLからwindowsのnodeを参照していたことが原因で実行できなかったようです。
以下は解決方法に至るまでに確認したことです。
1. そもそもこのターミナルはWSLなのかを確認
【入力】
pwd
【出力】
/home/user/workspace/sandbox/project1
pathを見た感じWSLっぽいです
2. WSLは起動されているのかを確認(powershell)
【入力】
wsl -l -v
【出力】
NAME STATE VERSION
* Ubuntu Running 2
動いていそうです
3. どこのNode.jsを使用しているのか確認
【入力】
which npm
【出力】
/mnt/c/Program Files/nodejs/npm
どうやらwindowsのNode.jsを参照していたようです
おわりに
前までWSLでnpm runが実行できていたのに、なんでいきなりWindowsの方を参照しだしたのかは全くわかりません、、、
参考