WSL2を使用してUbuntuをインストールしました。
ここで、作業ディレクトリに\\wsl$\Ubuntu\home\ponomarchukov\nodejs
npm パッケージをインストールしてみます。
npm install express
そのため、次のエラーが発生します:
-bash: /mnt/c/Program Files/nodejs/npm: /bin/sh^M: bad interpreter: No such file or directory
この問題を解決するにはどうすればいいでしょうか?
答え1
使用しているシェルnpm
スクリプトの末尾には、キャリッジ リターン (Ctrl-M、ASCII 13) があります。Unix システムでは、シェル スクリプトでキャリッジ リターンを指定するとエラーになります。行は、改行のみで終了する必要があります。Git for Windows に付属する bash バージョンを使用している場合でも同様です。
シェル スクリプトをどこから取得しているかを確認しnpm
、改行が含まれないように修正する必要があります。 などのプログラムを使用してこれを行うことができますdos2unix
。 Git でチェックアウトしたためにこのメッセージが表示される場合は、gitattributes
マニュアル ページを読んで、特定のファイルに常に Unix の行末 ( ) を設定する方法の詳細を確認してくださいeol=lf
。
答え2
使用しているターミナルでWSLを実際に起動しましたか?また、Ubuntuにnode/npmをインストールしましたか?Windowsインストールからnpmを使用しているようです。お勧めしますいいえシンプルなインストール スクリプトを備えた 。これは node のダウンロード マネージャーであり、Linux 上で node/npm を簡単にインストール/更新できます。