env: bashr: нет такого файла или каталога

Я пытаюсь установить YouCompleteMe из здесь.

когда я выполнить:

    ./install.sh --clang-completer

Я получаю эту ошибку:

    env: bashr: No such file or directory

Я не знаю, что не так с переменными среды. Вот мой путь bash:

which bash 
/bin/bash

мне нужно изменить его на / usr / bash? Если да, то как мне это сделать? Я попытался изменить ~/.файл bashrc, но это не сработало.

3 ответов


сообщение об ошибке говорит о том, что сценарий вы вызываете врезал \r символы, что в свою очередь предполагает, что он имеет Windows-style \r\n символы перевода строки вместо \n-только окончания строк bash ожидает.

как быстро исправить, вы можете удалить \r chars. следующим образом:

 sed $'s/\r$//' ./install.sh > ./install.Unix.sh

и затем запустить

./install.Unix.sh --clang-completer

тем не менее, больший вопрос заключается в том, почему вы в конечном итоге \r\n - style files - скорее всего, другие файлы тоже затронуты.

возможно, ты бежишь Git на Windows, где типичная конфигурация для преобразования Unix-style \n - только разрывы строк в стиле Windows \r\n переносы строк на проверять файлы и повторное обращение в \n-только переносы строк на совершение.

при этом смысл развитие on Окна, это встает на путь установка сценарии как эти.

до сделать git проверить файлы с окончаниями файлов в стиле Unix в Windows - по крайней мере, временно - использовать:

git config --global core.autocrlf false

затем выполнить команды установки с участием git clone еще раз.

чтобы восстановить поведение Git позже, запустите git config --global core.autocrlf true.


в вашем файле есть окончания строк Windows. Перейдите к окончаниям строк Unix.


столкнулся с чем-то подобным. Вы можете использовать dos2unix install.sh для преобразования окончаний строк. Несколько файлов через find [pattern] | xargs dos2unix