web-dev-qa-db-de.com

env: bash\r: Keine solche Datei oder Verzeichnis

Ich versuche, YouCompleteMe von hier zu installieren.

Wenn ich ausführen:

    ./install.sh --clang-completer

Ich erhalte diesen Fehler: 

    env: bash\r: No such file or directory

Ich weiß nicht, was mit Umgebungsvariablen falsch ist. 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, die ~/.bashrc-Datei zu ändern, aber es hat nicht funktioniert. 

37

Die Fehlermeldung weist darauf hin, dass das Skript, das Sie aufrufen, eingebettete \r - Zeichen hat , was wiederum darauf hinweist, dass es Windows-Stil hat \r\n Zeilenende anstelle des \n - nur Zeilenende bash erwartet.

Als Quick Fix können Sie die Zeichen \r Entfernen. wie folgt:

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

und dann rennen

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

Die größere Frage ist jedoch, warum Sie am Ende Dateien im \r\n - Stil haben - höchstwahrscheinlich sind auch andere Dateien betroffen.

Vielleicht führen Sie Git unter Windows aus, wobei eine typische Konfiguration darin besteht, Unix-Stil \n Zu konvertieren - nur Zeilenumbrüche in Windows- style \r\n Zeilenumbrüche ein Dateien auschecken und erneut in \n konvertieren - nur Zeilenumbrüche ein Festschreiben .

Während dies Sinn macht für Entwicklung unter Windows, wird es im Weg von Installationsszenarien wie diese.

Um dazu zu bringen, dass Git Dateien mit Endungen im Unix-Stil unter Windows auscheckt - zumindest vorübergehend - zu verwenden:

git config --global core.autocrlf false

Führen Sie dann Ihre Installationsbefehle mit git clone Erneut aus.

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

91
mklement0

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

10
Carl Norum

Bin in etwas Ähnliches geraten. Sie können dos2unix install.sh verwenden, um die Zeilenenden zu konvertieren. Mehrere Dateien über find [pattern] | xargs dos2unix

7
Michael Harris
>vim gradlew
:set fileformat=unix
:wq
>./gradlew clean build
1
Tuan Nguyen