/bin/sh ^ M: плохой интерпретатор: нет такого файла или каталога
Когда я ввожу brew doctor
(или любую команду brew
) в свой терминал, я получаю это как ответ:
- bash:/usr/local/bin/brew:/bin/sh ^ M: плохой интерпретатор: нет такого файла или каталога
Я видел ответ ^M
раньше, и я думаю, что он имеет отношение к файлам окончания строки dos. Есть ли способ исправить это?
Ответы
Ответ 1
Я не знаю, как возврат каретки попал в ваш файл 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
чтобы заменить старый.
Ответ 2
Это сработало для меня:
- Откройте файл /usr/local/bin/ brew с vi (
vi /usr/local/bin/brew
)
- Пока на vi вызывается это commad (через esc или:)
:set fileformat=unix
- Закрыть файл на vi через
:wq!
Теперь команда brew должна быть в порядке.
С уважением.