Nachdem Sie die gradlew
-Datei meines Projekts von meinem Windows-Computer mit Git zum Remote-Repo festgelegt haben, schlug der Aufruf von gradlew
auf meinem Linux-Server mit dieser Nachricht fehl:
/ usr/bin/env: bash: Keine solche Datei oder Verzeichnis
Was ist passiert?
Die Ursache des Problems war, dass Git unter Windows die Zeilenenden von gradlew
vom Unix-Stil (LF) in den Windows-Stil (CRLF) konvertierte.
Sie können diese automatische Konvertierung mit git config core.autocrlf false
deaktivieren.
Das Zurücksetzen der Zeilenenden von gradlew
auf den Unix-Stil hat das Problem behoben. In Vim erfolgt dies mit set fileformat=unix
.
Dies liegt daran, dass die gradlew-Datei Windows-Endungen hat.
Sie können dos2unix
mit apt-get
oder yum
installieren, indem Sie Folgendes ausführen:
Sudo apt-get install dos2unix
Sudo yum install -y dos2unix
und dann dos2unix
verwenden, um die Zeilenenden zu konvertieren
from CRLF
Windows CarriageReturn + LineFeed
nach LF
Nur für Linux LineFeed:
dos2unix ./gradlew
Führen Sie dann Ihre gradlew
für einen Test aus:
./gradlew clean -d
Vielen Dank für die Antworten, die hervorgehoben haben, dass das Problem darin bestand, dass Windows den Graduierten, wenn ich auf Mac bin.
Um dies zu beheben, habe ich aus dem Verzeichnis der App den Befehl ausgeführt:
gradle wrapper
Dies erzeugt (ersetzt das defekte) einen gradle Wrapper, der funktioniert! (Beachten Sie, dass es Ihre lokale gradle
install verwendet, um den Wrapper der App zu reparieren.)