web-dev-qa-db-fra.com

/ bin / sh ^ M: mauvais interprète: aucun fichier ou répertoire de ce type

Lorsque j'entre brew doctor (ou toute commande brew) dans mon terminal, j'obtiens ceci en réponse:

-bash:/usr/local/bin/brew:/bin/sh ^ M: mauvais interprète: aucun fichier ou répertoire de ce type

J'ai vu le ^M réponse avant et je pense que cela a à voir avec les fichiers de fin de ligne dos. Y'a t'il un moyen d'arranger cela?

15
user740858

Je ne sais pas comment les retours chariot ont abouti dans votre fichier d'infusion, mais vous pouvez les supprimer à l'aide de dos2unix ou en le passant par tr -d '\r'.

Exemple:

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

Une fois vérifié, vous pouvez utiliser

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

pour remplacer l'ancien.

32
that other guy

Cela a fonctionné pour moi:

  1. Ouvrez le fichier/usr/local/bin/brew avec vi (vi /usr/local/bin/brew)
  2. En vi, émettez cette commande (via esc ou :) :set fileformat=unix
  3. Fermer le fichier sur vi via :wq!

La commande d'infusion devrait maintenant être OK.

Cordialement.

33
Javier Roca