/usr/bin/env: ‘bash\r’: No such file or directoryというエラーがWSLを使っていて発生したときの対処法

/usr/bin/env: ‘bash\r’: No such file or directoryというエラーがWSLを使っていて発生したときの対処法

エラーの発生

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

プログラミングカテゴリの最新記事