Commande gradlew introuvable?


118

Je travaille sur un projet Java avec gradlew. J'utilise Ubuntu Linux comme système d'exploitation. Quand je lance "gradle", il s'exécute et me donne des informations. Mais quand je lance "gradlew", il affiche "Aucune commande 'gradlew' trouvée, vouliez-vous dire: Commande 'gradle' du package 'gradle' (univers) gradlew: commande non trouvée"

J'ai fait mes recherches, j'ai jdk, et j'ai fait sudo apt-get install gradle. Je n'ai aucune idée


51
Courez ./gradlew. Ce n'est pas sur votre chemin mais c'est un exécutable qui est présent dans le répertoire racine du projet que vous extrayez.
mkobit le

2
Lisez la documentation sur le wrapper gradle , docs.gradle.org/current/userguide/gradle_wrapper.html .
ditkin

Réponses:


100

Le wrapper Gradle doit être construit. Essayez d'exécuter gradle wrapper --gradle-version 2.13N'oubliez pas de remplacer 2.13 par votre numéro de version gradle. Après avoir exécuté cette commande, vous devriez voir de nouveaux scripts ajoutés à votre dossier de projet. Vous devriez pouvoir exécuter le wrapper avec ./gradlew buildpour créer votre code. Veuillez vous référer à ce guide pour plus d'informations https://spring.io/guides/gs/gradle/ .


173

Linux / MacOS

Comme indiqué dans les commentaires, il suffit d'exécuter

./gradlew

travaillé pour moi. L'ajout de lui ./dit de chercher dans le répertoire courant car il n'est pas dans le chemin.

Windows PowerShell

.\gradlew

26
essayez d'abord "chmod + x gradlew" puis "./gradlew" si cela ne fonctionne pas
Fadi

pour macOS catalina, "sudo bash ./gradlew" fonctionne pour moi
daniel

52

L'exécution de cette commande bash fonctionne pour moi en exécutant chmod 755 gradlewparfois les propriétés du fichier changées lors du passage d'un système d'exploitation à un autre (Windows, Linux et Mac).


14
Sûrement 755? Vous ne voulez pas laisser n'importe qui écraser un fichier exécutable de confiance.
David Knipe

7
chmod 777 ... classique.
vilpe89

1
Veuillez ne pas recommander «chmod 777». Les exécutables ne devraient jamais être accessibles en écriture dans le monde entier.
Kelly Setzer

19

le même problème me survient ... je vérifie les permissions du fichier wrx avec:
$ls -l ./gradlew-> -rw-rw-r-- (pas de permission d'exécution)

donc j'utilise la commande $chmod +x ./gradlewet ce problème est résolu.


15

Depuis mac,

Rien ne fonctionne sauf la commande suivante

chmod 777 gradlew Puis

./gradlew


gradlew a besoin d'une autorisation sur linux / mac, travaillant pour moi après chmod 777 gradlew à la racine de mon projet.
Faisal

1
'chmod 777' rend le monde de gradlew inscriptible. C'est un problème de sécurité majeur. Utilisez plutôt 'chmod 555'.
Kelly Setzer

Je recommanderais chmod 755 (-rwxr-xr-x). over 777
notStan

14

Si vous utilisez mac, essayez de donner un accès root à gradlew en faisant

chmod +x ./gradlew

10

De plus, @suraghch

Linux / MacOS ./gradlew nettoyer

Windows PowerShell . \ Gradlew clean

Windows cmd gradlew nettoyer


5

Pour les utilisateurs d'Ubuntu (Linux): faire "bash ./gradlew build"fonctionne" mais "ne ./gradlew buildfonctionne pas.

Pour moi, le problème était qu'il était sur le système de fichiers NTFS, Linux ne laisse pas exécuter un script à partir de NTFS. Essayez de déplacer le code de NTFS vers une partition Linux. alors ./gradlew builddevrait fonctionner


Fonctionne aussi pour RedHat 7
G_V

3

La première chose est que vous devez exécuter la tâche gradle que vous avez mentionnée pour ce wrapper. Ex: gradle wrapperAprès avoir exécuté cette commande, vérifiez votre répertoire pour les fichiers gradlew et gradlew.bat. gradlew est le fichier de script shell et peut être utilisé sous linux / Mac OS. gradlew.bat est le fichier de commandes pour Windows OS. Puis cours,

./gradlew build(linux / mac). Ça va marcher.


1

Si la réponse marquée comme correcte ne fonctionne pas, c'est que vous devez vous identifier en tant que super utilisateur.

wrapper sudo gradle --gradle-version 2.13

Cela a fonctionné pour moi.


1

Si vous utilisez VS Code avec flutter, vous devriez le trouver dans le dossier de votre application, sous le dossier Android:

C: \ myappFolder \ android

Vous pouvez l'exécuter dans le terminal:

./gradlew signingReport

1

Vous devez avoir le wrapper Gradle disponible localement avant de l'utiliser gradlew. Pour construire ça

gradle wrapper # --gradle-version v.xy

Si vous le souhaitez, transmettez explicitement la version gradle. Cette étape produit le binaire gradlew et vous devriez être en mesure de

./gradlew build

0

J'utilise intellj idea et dans windows en type terminal: gradlew.bat run ça marche pour moi.


1
Windows est différent . Pour une raison quelconque, il résout toujours les exécutables .comme s'il se trouvait dans le chemin, même s'il n'est très clairement pas dans le chemin.
Guss

0

Salut @Hayden Stites J'ai rencontré le même problème, mais après quelques essais, j'ai trouvé que cela se produisait parce que j'essayais de créer une build dans git bash, au lieu de CMD avec accès administrateur. Si vous créez une build avec l'invite de commande, exécutez en tant qu'administrateur, la build obtiendra create.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.