¿No se encuentra el comando gradlew?

118

Estoy trabajando en un proyecto de Java con gradlew. Utilizo Ubuntu Linux como mi sistema operativo. Cuando ejecuto "gradle", se ejecuta y me da información. Pero cuando ejecuto "gradlew", aparece como "No se encontró el comando 'gradlew', quiso decir: Comando 'gradle' del paquete 'gradle' (universo) gradlew: comando no encontrado"

Hice mi investigación, tengo jdk y sudo apt-get install gradle. No tengo ni idea

Hayden Stites
fuente
51
Corre ./gradlew. No está en su ruta, pero es un ejecutable que está presente en el directorio raíz del proyecto que compró.
mkobit
2
Lea la documentación sobre el contenedor de gradle , docs.gradle.org/current/userguide/gradle_wrapper.html .
ditkin

Respuestas:

100

Es necesario construir la envoltura de Gradle. Intente ejecutar gradle wrapper --gradle-version 2.13Recuerde cambiar 2.13 a su número de versión de Gradle. Después de ejecutar este comando, debería ver nuevos scripts agregados a la carpeta de su proyecto. Debería poder ejecutar el contenedor con ./gradlew buildpara compilar su código. Consulte esta guía para obtener más información https://spring.io/guides/gs/gradle/ .

Alex Wilson
fuente
173

Linux / MacOS

Como se señaló en los comentarios, simplemente ejecutando

./gradlew

trabajó para mi. Agregar ./le dice que busque en el directorio actual ya que no está en la ruta.

Windows PowerShell

.\gradlew
Suragch
fuente
26
primero intente "chmod + x gradlew" y luego "./gradlew" si no funciona
Fadi
para macOS catalina, "sudo bash ./gradlew" funciona para mí
daniel
52

Ejecutar este comando bash funciona para mí, chmod 755 gradlewya que a veces las propiedades del archivo cambian al pasar de un sistema operativo a otro (Windows, Linux y Mac).

Ayman Mahgoub
fuente
14
Seguramente 755? No quiere permitir que cualquiera sobrescriba un archivo ejecutable de confianza.
David Knipe
7
chmod 777 ... clásico.
vilpe89
1
No recomiende 'chmod 777'. Los ejecutables nunca deben ser de escritura mundial.
Kelly Setzer
19

se me ocurre el mismo problema ... Verifico los permisos del archivo wrx con:
$ls -l ./gradlew-> -rw-rw-r-- (sin permiso de ejecución)

entonces uso el comando $chmod +x ./gradlewy este problema resuelto.

Shanwu
fuente
15

Desde mac,

Nada funciona excepto el siguiente comando

chmod 777 gradlew Entonces

./gradlew

MARYLAND. Shafiul Alam Biplob
fuente
gradlew necesita permiso en linux / mac, trabajando para mí después de chmod 777 gradlew en la raíz de mi proyecto.
Faisal
1
'chmod 777' hace que Gradlew World se pueda escribir. Este es un problema de seguridad importante. Utilice 'chmod 555' en su lugar.
Kelly Setzer
Recomendaría chmod 755 (-rwxr-xr-x). más de 777
notStan
14

Si está utilizando mac, intente dar acceso de root a gradlew haciendo

chmod +x ./gradlew
Pankaj Gaikar
fuente
10

Además es @suraghch

Linux / MacOS ./gradlew limpio

Windows PowerShell . \ Gradlew clean

Windows cmd gradlew limpio

Sanjeev Rao
fuente
5

Para usuarios de Ubuntu (linux): hacer "bash ./gradlew build"funciona pero" ./gradlew build"no funciona.

Para mí, el problema era que estaba en el sistema de archivos NTFS, Linux no permite ejecutar un script desde NTFS. Intente mover el código de NTFS a una partición de Linux. entonces ./gradlew builddebería funcionar

abhi
fuente
También funciona para RedHat 7
G_V
3

Lo primero es que debe ejecutar la tarea de Gradle que mencionó para este contenedor. Ejemplo: gradle wrapperdespués de ejecutar este comando, verifique su directorio para ver los archivos gradlew y gradlew.bat. gradlew es el archivo de script de shell y se puede usar en Linux / Mac OS. gradlew.bat es el archivo por lotes para el sistema operativo Windows. Entonces corre,

./gradlew build(linux / mac). Funcionará.

Sumukha HS
fuente
1

Si la respuesta marcada como correcta no funciona, es porque necesita identificarse como superusuario.

sudo gradle wrapper --gradle-versión 2.13

Funcionó para mí.

Anxo P
fuente
1

Si está usando VS Code con flutter, debe encontrarlo en la carpeta de su aplicación, debajo de la carpeta de Android:

C: \ myappFolder \ android

Puedes ejecutar esto en la terminal:

./gradlew signingReport
vive el amor
fuente
1

Debe tener el contenedor Gradle disponible localmente antes de usarlo gradlew. Para construir eso

gradle wrapper # --gradle-version v.xy

Opcionalmente, pase la versión gradle explícitamente. Este paso produce el binario gradlew, y entonces deberías poder

./gradlew build
Rounak Datta
fuente
0

Utilizo intellj idea y en windows en el tipo de terminal: gradlew.bat run funciona para mí.

Un mes
fuente
1
Windows es diferente . Por alguna razón, siempre resuelve los ejecutables .como si estuvieran en la ruta, incluso cuando claramente no está en la ruta.
Guss
0

Hola @Hayden Stites Me enfrenté al mismo problema, pero después de algunos intentos descubrí que estaba sucediendo porque estaba tratando de crear una compilación en git bash, en lugar de CMD con acceso de administrador. Si crea una compilación con el símbolo del sistema, ejecute como administrador la compilación se creará.

Vishal Pachpande
fuente