Dies hängt von der Exec-Berechtigung für Ihr Unix- gradlew
Skript ab.
Es kann mit dem folgenden Befehl behoben werden:
git update-index --chmod=+x gradlew
Eine kleine Beschreibung, um das Problem zu verstehen.
Zunächst können Sie Ihre Berechtigungen überprüfen mit:
git ls-tree HEAD
Du wirst sehen:
100644 blob xxxxxxxxxxx gradlew
Wie Sie sehen können, hat die Datei die Berechtigung 644.
Beheben Sie das Problem, indem Sie das Flag für ausführbare Dateien in Ihrer Gradlew-Datei auf 755 ändern:
git update-index --chmod=+x gradlew
Übernehmen Sie einfach die Änderungen und drücken Sie sie weiter:
git commit -m "permission access for travis"
[master e80ab1b] gradlew permission access for travis
1 file changed, 0 insertions(+), 0 deletions(-)
mode change 100644 => 100755 gradlew
Eine letzte Überprüfung, bei der git ls-tree erneut ausgeführt wird, um die Änderung festzustellen:
git ls-tree HEAD
Du kannst sehen:
100755 blob xxxxxxxxxxxxx gradlew
Eine andere Möglichkeit, dieses Problem zu lösen, besteht darin, Folgendes zu verwenden:
before_install:
- chmod +x gradlew
Diese Art von Lösung ändert nicht die Berechtigung in Ihrem Git-Repo, sondern nur die Berechtigungslaufzeit in der Ausführung.
chmod
Befehle in Build-Skripten, da 1) unnötige Komplexität entsteht 2) für andere Teammitglieder, die das Repo erneut klonen, nicht funktioniert.Vielen Dank an alle. Dieser Code ist verfügbar. Der Schwerpunkt liegt auf
chmod +x
quelle