gradlew: İzin Reddedildi


287

Gradlew komut satırımdan çalıştırmaya çalışıyorum, ancak sürekli olarak aşağıdaki hatayla karşılaşıyorum.

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

Bu komutu proje dizinimden çalıştırıyorum. Burada karşılaştığım Android Studio 0.2.x'te aynı (nondescriptive) hatayla karşılaştığım için bu komutu çalıştırmam gerekiyor: Android studio ve gradle derleme hatası

Yanlış bir şey mi yapıyorum ve bunun üstesinden nasıl gelebilirim?

Yanıtlar:


818

Gradlew dosyanızdaki yürütme bayrağını ayarlamaya çalışın:

chmod +x gradlew


4
Şunu mu demek istediniz: chmod + x gradlew? (: İşe yaradı. Cevabınızı kabul edilen olarak işaretleyebilmem için lütfen cevabınızı düzenleyin. Teşekkürler!
Brenda Nicole Tan

28
varsayılan şablonun gradlew dosyasını yürütülebilir olarak ayarlamamasının bir nedeni var mı? Bunu yapmak zorunda tuhaf görünüyor.
Ankur

3
Atlassian Bamboo yapısını kurarken de benzer bir sorun yaşadım; Gradlew dosyasını git'ten kontrol ederek çalıştırılabilir özniteliği yoktu, bu yüzden @Vincent'in işaret ettiği gibi chmod + x'e işime bir "script" görevi eklemek zorunda kaldı. Teşekkürler!
Doug Ayers

@Vincent, izin sorununu çözmek için bunun neden gerekli olduğunu açıklayabilir misiniz?
Abhijit

4
@Abhijit yaparak dosya izinlerini kontrol edebilirsiniz ls -l. Bu size en soldaki sütundaki dosya izinlerini verir.
Sudhanshu

59

Ayrıca düzeltilebilir

git update-index --chmod=+x gradlew

1
Tam aradığım şey!
sschrass

1
Windows kullanıcıları için uygun düzeltme. Teşekkür ederim!
GBP

5
... ve sonradan taahhüt ve itme gerekiyor
Michal Hosala

33

Komuttan önce "bash" kullanabilirsiniz:

bash ./gradlew compileDebug --stacktrace

27

İçin yürütme iznini güncellemeniz gerekiyor gradlew

Yerel olarak :chmod +x gradlew

Git :

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

Görmelisin:

mode change 100644 => 100755 gradlew

Teşekkürler, bana çok yardımcı oldu!
Igor Fridman

26

Jenkins> Proje Panosu> (derecelendirme projesini seçin) Yapılandır> Oluştur

x Kepçe Sarıcı Kullanın

Gradlew uygulamasını çalıştırılabilir x

resim açıklamasını buraya girin


Sizin için çalışıyor mu? Onay kutusunu işimin ayarlarında belirledim, ancak gradlew'ı çalıştırılabilir hale getirmedi. Ben clean before checkoutseçeneği kullanıyorum.
zubactik

1
Benim için çalışıyor! Jenkins'e çalıştırılabilir dosyayı yapmasını açıkça söylemelisiniz.
Harvey Lin

16

git update-index --chmod = + x gradlew

Bu komut özellikle unix olmayan sistemlerde daha iyi çalışır.


2

Sadece bu tip commandyılında Android Studio Terminali (Ya da Linux / Mac Terminali)

chmod +x gradlew

ve şunları yapmaya çalışın:

 ./gradlew assembleDebug

resim açıklamasını buraya girin


1

chmod'ing'den sonra çalışmazsa, / tmp dizininde yürütmeye çalışmadığınızdan emin olun.


1

Benim durumumda izinler yürütmüştüm ve sudo ile bile gradlew çalıştıramadım. benim sorunum projemin başka bir sabit diskte olmasıydı ve o diskte yönetici iznim yoktu. Ben sadece fstab noexec mount bayrak kaldırıldı ve exec bayrak ekledim. daha sonra değişikliklerin geçerli olması için diski yeniden takın.


0

Aşağıdaki komutu deneyin:

chmod +x gradlew && ./gradlew compileDebug --stacktrace

0

Bir mac üzerinde flutter çalıştırmak yürütmeye çalışırken aynı hatayı aldım. Görünüşe göre, çarpıntı projenizde, yürütülebilir olması beklenen bir dosya android / gradlew var (ve değildi). Benim durumumda,

chmod a+rx android/gradlew

bu komutu kullandım ve projeyi yürüttüm


0

Bu hata not izinleriyle ilgilidir. Terminalinize çizginin altına yapıştırın ve çalıştırın ...

chmod a + rx android / gradlew


0

android klasör cmd çalıştırmak

chmod +x gradlew

ve koş

./gradlew clean

ve kök proje çalıştırması

react-native run-android
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.