Je charge un projet depuis git et le crée avec succès sur MacBook. Lorsque je tape './gradlew assembleRelease' dans la fenêtre du terminal, j'obtiens une erreur:
bash: ./gradlew: No such file or directory
Je vérifie donc si gradlew est sous le répertoire du projet, mais je ne le trouve pas. Mais je peux toujours exécuter la tâche à partir de la fenêtre "Projets Gradle".
Qu'est-ce qui ne va pas?
gradlew
script est ce qu'on appelle le wrapper Gradle, un script autonome qui permet aux gens d'exécuter des tâches Gradle sans que Gradle soit installé. Cependant il n'a pas d'exister pour exécuter les tâches Gradle, c'est absolument facultatif.
Vous pouvez générer Wrapper dans votre projet en exécutant la tâche
gradle wrapper
Ensuite, vous pouvez utiliser ./gradlew
script au lieu de gradle
de PATH
Pour spécifier une version Gradle, utilisez --gradle-version sur la ligne de commande. Exécutez simplement la commande:
gradle wrapper --gradle-version <your gradle version>
Jetez un œil ici pour une explication plus exhaustive et complète: https://docs.gradle.org/current/userguide/gradle_wrapper.html
Dans mon cas, j'ai copié le fichier gradlew de Windows (10) vers Linux (Centos7).
J'ai donc dû courir
[user@server]$ dos2unix gradlew
Et ça a marché.
Mise à jour:
Si vous avez copié depuis Windows comme dans mon cas. Faites une chose, ouvrez-le dans le bloc-notes ++, allez dans Affichage -> Afficher le symbole -> Afficher la fin de la ligne. Vous pouvez remarquer CRLF
Ceci est le Windows EOL. Maintenant, convertissez-le afin de ne pas avoir à le refaire. Pour convertir le bloc-notes ++ -> Modifier -> Conversion EOL -> Unix (LF
)
Voilà, tout en poussant pour git violon aroung . Gitattributes
Ajoutez l'autorisation d'exécution pour tous les utilisateurs aux autorisations existantes
chmod +x gradlew