WSL2(Ubuntu)環境でnpmを起動しようとしたら…
$ npm
/usr/bin/env: ‘bash\r’: No such file or directory
これの原因はスクリプトにWindows用の改行コードが含まれているスクリプトを実行した場合に出ます。
WSLはいまいちよくわからないのですが、LinuxベースのシステムとホストのWindowsベースの両方のプログラムが動くようにできてるっぽいです。
環境変数を表示してみるとわかりますが…
$ echo $PATH
なんとWindows側のパスも通っています。
つまりWindows版のnpmが動いていたというわけです。
ただし、Linux向けのパス先に設定されているのでLinuxのプログラムが優先して探されます。
今回の原因は、そもそもLinux側にnpmがインストールされていないことが原因でした。
ということで、Linux側にnpmをインストールしてあげればOKです。