2015-03-14 5 views
24

Ich versuche, YouCompleteMe von here zu installieren.env: bash r: Keine solche Datei oder Verzeichnis

Wenn ich ausführen:

./install.sh --clang-completer 

ich diesen Fehler:

env: bash\r: No such file or directory 

Ich weiß nicht, was falsch ist mit Umgebungsvariablen. Hier ist mein Bash-Pfad:

which bash 
/bin/bash 

Muss ich es in/usr/bash ändern? Wenn ja, wie soll ich das machen? Ich habe versucht, ~/.bashrc Datei zu ändern, aber es hat nicht funktioniert.

Antwort

37

Die Fehlermeldung deutet darauf hin, dass das Skript Sie Aufruf \r Zeichen eingebettet hat, was wiederum legt nahe, dass es im Windows-Stil \r\n Zeilenenden anstelle der \n -nur Zeilenenden bash erwartet hat.

Als Schnellkorrektur können Sie die \r Zeichen entfernen. wie folgt:

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

und dann

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

Allerdings läuft, ist die größere Frage, warum Sie mit \r\n -Stil Dateien am Ende haben - höchstwahrscheinlich, andere Dateien betroffen sind, auch.

Vielleicht du läufst Git auf Windows, wo eine typische Konfiguration ist im Unix-Stil \n -nur Zeilenumbrüche Windows-Stil bricht \r\n Linie auf prüft Dateien aus zu konvertieren und wieder die Umstellung auf \n -online Zeilenumbrüche commit.

Während dieser Sinn macht für Entwicklung auf Windows, es in die Quere kommt von Installation Szenarien wie diese.

Um make Git überprüfen Dateien mit Unix-Dateiendungen auf Windows - zumindest vorübergehend - Verwendung:

git config --global core.autocrlf false 

Dann wieder Ihre Installation Befehle beteiligt git clone laufen.

Um das Verhalten von Git später wiederherzustellen, führen Sie git config --global core.autocrlf true.

6

Ihre Datei hat Windows-Zeilenenden. Wechseln Sie zu Unix-Zeilenenden.

4

lief in etwas ähnliches. Sie können die Zeilenenden mit dos2unix install.sh konvertieren.Mehrere Dateien über find [pattern] | xargs dos2unix

Verwandte Themen