web-dev-qa-db-ja.com

/ bin / sh ^ M:不正なインタープリター:そのようなファイルまたはディレクトリはありません

ターミナルでbrew doctor(またはbrewコマンド)を入力すると、これが応答として返されます。

-bash:/ usr/local/bin/brew:/ bin/sh ^ M:不正なインタープリター:そのようなファイルまたはディレクトリはありません

以前に^M応答を見たことがありますが、これはdos行末ファイルに関係していると思います。これを修正する方法はありますか?

15
user740858

キャリッジリターンがどのようにしてbrewファイルに入れられたのかわかりませんが、dos2unixを使用するか、tr -d '\r'を介してパイピングすることで削除できます。

例:

tr -d '\r'  < /usr/local/bin/brew   > myfixedbrew

確認したら、使用できます

mv myfixedbrew /usr/local/bin/brew && chmod a+x /usr/local/bin/brew 

古いものを交換します。

32
that other guy

これは私のために働いた:

  1. Vi(vi /usr/local/bin/brew)でファイル/ usr/local/bin/brewを開きます
  2. Viでは、このコンマを(escまたは:)を介して発行します:set fileformat=unix
  3. :wq!経由でviのファイルを閉じる

これでb​​rewコマンドはOKになります。

よろしく。

33
Javier Roca