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

Hayden Stites
la source
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/ .

Alex Wilson
la source
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
Suragch
la source
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).

Ayman Mahgoub
la source
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.

Shanwu
la source
15

Depuis mac,

Rien ne fonctionne sauf la commande suivante

chmod 777 gradlew Puis

./gradlew

MARYLAND. Shafiul Alam Biplob
la source
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
Pankaj Gaikar
la source
10

De plus, @suraghch

Linux / MacOS ./gradlew nettoyer

Windows PowerShell . \ Gradlew clean

Windows cmd gradlew nettoyer

Sanjeev Rao
la source
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

abhi
la source
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.

Sumukha HS
la source
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.

Anxo P
la source
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
l'amour en direct
la source
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
Rounak Datta
la source
0

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

Un Mo
la source
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.

Vishal Pachpande
la source