エラーの発生
MDNのCommand line crash course を学んでいて、
Windows Subsystem for Linux (WSL)をインストールし、
Installing Node.js からLTSをダウンロード・インストール、いざWSL(Ubunts)のコマンドラインで
npm install prettier
と打ったところ、下記エラーが出ました。
/usr/bin/env: ‘bash\r’: No such file or directory
エラーの原因
このエラーが出たときの原因をググって調べたところ、2つの候補が見つかりました。
1つ目は、改行コードがUnixフォーマットになっていなかったこと、
2つ目は、WSL上では、Windowsにインストールしたものは稼働せず、WSL実行用にインストールが必要
今回は原因を2つ目と仮定して下記の対処法を取ることで、解決しました。
やってみたこと
まず、stack overflow の投稿を参考に、WSL上で
sudo apt install nodejs npm
を実行し、Node.js & npmのインストールを試みました。
(もしかしたら、この作業は不要?)
解決方法
これにより古いバージョンがインストールされたようで不審に思い、Qiitaの記事 を参考にWSL(Ubuntu コマンドライン)で下記のコマンドを実行したところ、解決しました。
nvmのインストール
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
確認
command -v nvm
→nvmと表示される
Node.js LTS版 インストール
nvm install --lts
ここまですると
npm install prettier
を実行できるようになりました。
新しいパソコンにWSLを入れ直す際は、Qiitaの記事 に書かれている手順をまずは実行し、上手くいくか検証しようと思います。
参考サイト
npm実行時に /usr/bin/env: ‘bash\r’: No such file or directory
Node.js を Linux 用 Windows サブシステム (WSL2) にインストールする
After installing npm on WSL Ubuntu 20.04 I get the message “/usr/bin/env: ‘bash\r’: No such file or directory”
ご質問あれば、下記Twitterまでご連絡ください。
@hongo_haruto
コメントを書く