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.