gradlew: permissão negada

286

Estou tentando executar gradlew na minha linha de comando, mas estou constantemente enfrentando o seguinte erro.

Brendas-MacBook-Pro:appx_android brendalogy$ ./gradlew compileDebug --stacktrace
-bash: ./gradlew: Permission denied

Eu já estou executando este comando no diretório do meu projeto. Preciso executar este comando, pois estou enfrentando o mesmo erro (não descritivo) no Android Studio 0.2.x, como encontrado aqui: Erro de criação do Android Studio e do Gradle

Estou fazendo algo errado e como contornar isso?

Brenda Nicole Tan
fonte

Respostas:

817

Tente definir o sinalizador de execução no seu arquivo gradlew:

chmod +x gradlew

Vincent Cantin
fonte
4
Você quer dizer chmod + x gradlew? (: Ele trabalhou Edite a sua resposta para que eu possa marcá-lo como o único aceite Graças..!
Brenda Nicole Tan
28
existe algum motivo para o modelo padrão ainda não definir o gradlew como executável? parece estranho que eu teria que fazer isso.
Ankur #
3
Eu tive um problema semelhante ao configurar o Atlassian Bamboo build; ao verificar o arquivo gradlew no git, ele não tinha o atributo executável, então tive que adicionar uma tarefa "script" ao meu trabalho no chmod + x, como @Vincent apontou. Obrigado!
Doug Ayers
@Vincent, você poderia explicar por que isso é necessário para resolver o problema de permissão?
Abhijit
4
@Abhijit você pode verificar as permissões de arquivo fazendo ls -l. Isso fornece as permissões de arquivo na coluna mais à esquerda.
Sudhanshu
57

Também pode ser corrigido com

git update-index --chmod=+x gradlew
user1921819
fonte
1
Exatamente o que eu estava procurando!
sschrass
1
correção adequada para usuários do Windows. Obrigado!
GBP
5
... e commit e push são necessários depois #
Michal Hosala 29/08/19
33

Você pode usar "bash" antes do comando:

bash ./gradlew compileDebug --stacktrace
user3816061
fonte
27

Você precisa atualizar a permissão de execução para gradlew

Localmente :chmod +x gradlew

Git :

git update-index --chmod=+x gradlew
git add .
git commit -m "Changing permission of gradlew"
git push

Você deveria ver:

mode change 100644 => 100755 gradlew
Vishrant
fonte
Obrigado, me ajudou muito!
Igor Fridman
26

Jenkins> Painel do Projeto> (selecione o projeto gradle) Configurar> Construir

x Usar Wrapper Gradle

Tornar executável gradlew x

insira a descrição da imagem aqui

Pnemônico
fonte
Funciona para você? Marquei a caixa de seleção nas configurações do meu trabalho, mas isso não levou à execução do gradlew. Eu uso a clean before checkoutopção.
Zubactik
1
Funciona para mim! Você precisa informar explicitamente ao jenkins para tornar o executável.
Harvey Lin
16

git update-index --chmod = + x gradlew

Este comando funciona melhor, especialmente em sistemas não-unix.

ekarankow
fonte
2

Basta digitar isso commandno Android Studio Terminal (ou no seu Linux / Mac Terminal)

chmod +x gradlew

e tente:

 ./gradlew assembleDebug

insira a descrição da imagem aqui

sana ebadi
fonte
1

se não funcionar após chmod'ing, verifique se você não está tentando executá-lo dentro do diretório / tmp.

Quinn Carver
fonte
1

No meu caso, eu havia executado permissões e não conseguia executar o gradlew mesmo com o sudo. meu problema era que meu projeto estava em outro disco rígido e eu não tinha permissão de executor nessa unidade. Eu simplesmente removi o sinalizador de montagem noexec do fstab e adicionei o sinalizador de exec. remonte o disco para que as alterações se apliquem.

mh bitarafan
fonte
0

Tente abaixo do comando:

chmod +x gradlew && ./gradlew compileDebug --stacktrace
Brijesh Shiroya
fonte
0

Eu recebi o mesmo erro ao tentar executar a vibração em um mac. Aparentemente, no seu projeto de flutter, existe um arquivo android / gradlew que deve ser executável (e não era). Então, no meu caso,

chmod a+rx android/gradlew

eu usei esse comando e execute o projeto

Shubham_Narkhede
fonte
0

Este erro está relacionado à permissão gradle. Basta colar abaixo da linha no seu terminal e executar ...

chmod a + rx android / gradlew

Gaurav Pandit
fonte
0

na pasta android cmd run

chmod +x gradlew

e corra

./gradlew clean

e execução do projeto raiz

react-native run-android
iman roosta
fonte