webentwicklung-frage-antwort-db.com.de

Fehler bei gradlew:/usr/bin/env: bash: Keine solche Datei oder Verzeichnis

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?

37
Matthias Braun

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.

62
Matthias Braun

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
22
Justin Rhoades

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.)

0
Blundell