O comando gradlew não foi encontrado?

118

Estou trabalhando em um projeto Java com gradlew. Eu uso o Ubuntu Linux como meu sistema operacional. Quando executo o "gradle", ele é executado e fornece informações. Mas quando eu executo "gradlew", a saída é "Nenhum comando 'gradlew' encontrado, você quis dizer: Comando 'gradle' do pacote 'gradle' (universe) gradlew: comando não encontrado"

Eu fiz minha pesquisa, tenho o jdk e fiz sudo apt-get install gradle. Eu sou totalmente sem noção

Hayden Stites
fonte
51
Corra ./gradlew. Ele não está no seu caminho, mas é um executável que está presente no diretório raiz do projeto que você registrou.
mkobit
2
Leia a documentação sobre o wrapper gradle , docs.gradle.org/current/userguide/gradle_wrapper.html .
ditkin

Respostas:

100

O invólucro do Gradle precisa ser criado. Tente executar gradle wrapper --gradle-version 2.13Lembre-se de alterar 2.13 para o número da sua versão do Gradle. Depois de executar este comando, você deve ver novos scripts adicionados à pasta do projeto. Você deve ser capaz de executar o wrapper ./gradlew buildpara construir seu código. Consulte este guia para obter mais informações https://spring.io/guides/gs/gradle/ .

Alex Wilson
fonte
173

Linux / MacOS

Conforme observado nos comentários, apenas executando

./gradlew

trabalhou para mim. Adicionar o ./instrui a procurar no diretório atual, pois não está no caminho.

Windows PowerShell

.\gradlew
Suragch
fonte
26
tente primeiro "chmod + x gradlew" e depois "./gradlew" se não funcionar
Fadi
para macOS Catalina, "sudo bash ./gradlew" funciona para mim
daniel
52

A execução desse comando bash funciona para mim, chmod 755 gradlewpois às vezes as propriedades do arquivo mudam ao passar de um sistema operacional para outro (Windows, Linux e Mac).

Ayman Mahgoub
fonte
14
Com certeza 755? Você não quer permitir que qualquer pessoa sobrescreva um arquivo executável confiável.
David Knipe
7
chmod 777 ... clássico.
vilpe89
1
Não recomende 'chmod 777'. Os executáveis ​​nunca devem ser graváveis ​​em todo o mundo.
Kelly Setzer
19

o mesmo problema ocorre comigo ... eu verifico as permissões do arquivo wrx com:
$ls -l ./gradlew-> -rw-rw-r-- (sem permissão de execução)

então eu uso o comando $chmod +x ./gradlewe esse problema resolvido.

Shanwu
fonte
15

Do mac,

Nada está funcionando exceto o seguinte comando

chmod 777 gradlew Then

./gradlew

MD. Shafiul Alam Biplob
fonte
gradlew precisa de permissão em linux / mac, trabalhando para mim após chmod 777 gradlew na raiz do meu projeto.
Faisal
1
'chmod 777' torna o gradlew world gravável. Este é um grande problema de segurança. Use 'chmod 555' em vez disso.
Kelly Setzer
Eu recomendo chmod 755 (-rwxr-xr-x). mais de 777
notStan
14

Se você estiver usando mac, tente dar acesso root ao gradlew fazendo

chmod +x ./gradlew
Pankaj Gaikar
fonte
10

Além disso, é @suraghch

Linux / MacOS ./gradlew clean

Windows PowerShell . \ Gradlew clean

Windows cmd gradlew clean

Sanjeev Rao
fonte
5

Para usuários do Ubuntu (linux): fazer "bash ./gradlew build"funciona, mas" ./gradlew build"não funciona.

Para mim, o problema era que estava no sistema de arquivos NTFS, o linux não permite executar um script de NTFS. Tente mover o código do NTFS para uma partição Linux. então ./gradlew builddeve funcionar

abhi
fonte
Funciona para RedHat 7 também
G_V
3

A primeira coisa é que você precisa executar a tarefa gradle que mencionou para este wrapper. Ex:gradle wrapper depois de executar este comando, verifique seu diretório para os arquivos gradlew e gradlew.bat. gradlew é o arquivo de script de shell e pode ser usado em linux / Mac OS. gradlew.bat é o arquivo em lote para o sistema operacional Windows. Então corra,

./gradlew build(linux / mac). Vai funcionar.

Sumukha HS
fonte
1

Se a resposta marcada como correta não funcionar, é porque você precisa se identificar como um superusuário.

sudo gradle wrapper --gradle-versão 2.13

Funcionou para mim

Anxo P
fonte
1

Se você estiver usando o VS Code com flutter, deverá encontrá-lo na pasta do aplicativo, na pasta android:

C: \ myappFolder \ android

Você pode executar isso no terminal:

./gradlew signingReport
amor ao vivo
fonte
1

Você deve ter o wrapper Gradle disponível localmente antes de usar gradlew. Para construir isso

gradle wrapper # --gradle-version v.xy

Opcionalmente, passe a versão do Gradle explicitamente. Esta etapa produz o binário gradlew. E então você deve ser capaz de

./gradlew build
Rounak Datta
fonte
0

Eu uso o intellj idea e no windows no tipo terminal: gradlew.bat run está funcionando para mim.

A Mo
fonte
1
O Windows é diferente . Por alguma razão, ele sempre resolve executáveis .como se estivessem no caminho, mesmo quando claramente não estão no caminho.
Guss
0

Olá @Hayden Stites. Enfrentei o mesmo problema, mas depois de algumas tentativas descobri que estava acontecendo porque estava tentando criar um build no git bash, em vez do CMD com acesso de administrador. Se você criar um build com o prompt de comando, executado como o build do administrador será criado.

Vishal Pachpande
fonte