gradlew: Izin Ditolak

286

Saya mencoba menjalankan gradlew dari baris perintah saya, tetapi saya terus-menerus menghadapi kesalahan berikut.

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

Saya sudah menjalankan perintah ini dari direktori proyek saya. Perlu menjalankan perintah ini karena saya menghadapi kesalahan (nondeskriptif) yang sama pada Android Studio 0.2.x seperti yang dijumpai di sini: Android studio dan gradle build error

Apakah saya melakukan sesuatu yang salah dan bagaimana saya mengatasinya?

Brenda Nicole Tan
sumber

Jawaban:

817

Cobalah untuk mengatur flag eksekusi pada file gradlew Anda:

chmod +x gradlew

Vincent Cantin
sumber
4
Maksudmu, chmod + x gradlew? (: Berhasil. Harap edit jawaban Anda sehingga saya dapat menandainya sebagai yang diterima. Terima kasih!
Brenda Nicole Tan
28
apakah ada alasan mengapa templat default belum disetel gradlew sebagai executable? tampaknya aneh bahwa saya harus melakukan ini.
Ankur
3
Saya memiliki masalah yang sama ketika mengatur pembangunan Bambu Atlassian; memeriksa file gradlew dari git tidak memiliki atribut yang dapat dieksekusi sehingga harus menambahkan tugas "script" ke pekerjaan saya ke chmod + x seperti yang ditunjukkan oleh @Vincent. Terima kasih!
Doug Ayers
@Incent dapatkah Anda menjelaskan mengapa ini diperlukan untuk menyelesaikan masalah izin?
Abhijit
4
@ Abhijit Anda dapat memeriksa izin file dengan melakukan ls -l. Ini memberi Anda izin file di kolom paling kiri.
Sudhanshu
57

Bisa juga diperbaiki dengan

git update-index --chmod=+x gradlew
pengguna1921819
sumber
1
Persis apa yang saya cari!
sschrass
1
perbaikan yang tepat untuk pengguna windows. Terima kasih!
GBP
5
... dan komit dan dorong diperlukan sesudahnya
Michal Hosala
33

Anda bisa menggunakan "bash" sebelum perintah:

bash ./gradlew compileDebug --stacktrace
pengguna3816061
sumber
27

Anda perlu memperbarui izin eksekusi untuk gradlew

Secara lokal :chmod +x gradlew

Git :

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

Anda harus melihat:

mode change 100644 => 100755 gradlew
Vishrant
sumber
Terima kasih, banyak membantu saya!
Igor Fridman
26

Jenkins> Project Dashboard> (pilih proyek gradle) Configure> Build

x Gunakan Gradle Wrapper

Jadikan gradlew dapat dieksekusi x

masukkan deskripsi gambar di sini

Pnemonik
sumber
Apakah itu berhasil untuk Anda? Saya mengatur kotak centang di pengaturan pekerjaan saya tetapi tidak mengarah pada membuat gradlew dapat dieksekusi. Saya menggunakan clean before checkoutopsi.
zubactik
1
Bekerja untukku! Anda harus memberi tahu jenkins secara eksplisit untuk membuat executable.
Harvey Lin
16

git update-index --chmod = + x gradlew

Perintah ini berfungsi lebih baik terutama pada sistem non-unix.

ekarankow
sumber
2

Cukup ketik ini commanddi Terminal Android Studio (Atau Terminal Linux / Mac Anda)

chmod +x gradlew

dan cobalah untuk:

 ./gradlew assembleDebug

masukkan deskripsi gambar di sini

sana ebadi
sumber
1

jika tidak berfungsi setelah chmod'ing pastikan Anda tidak mencoba menjalankannya di dalam direktori / tmp.

Quinn Carver
sumber
1

Dalam kasus saya, saya telah mengeksekusi izin dan saya tidak bisa menjalankan gradlew bahkan dengan sudo. masalah saya adalah proyek saya berada di hard drive lain dan saya tidak memiliki izin exec pada drive itu. Saya hanya menghapus flag mount noexec dari fstab dan menambahkan flag exec. kemudian pasang kembali disk sehingga perubahan berlaku.

mh bitarafan
sumber
0

Coba perintah di bawah ini:

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

Saya mendapat kesalahan yang sama mencoba menjalankan flutter run di mac. Rupanya, dalam proyek flutter Anda, ada file android / gradlew yang diharapkan dapat dieksekusi (dan ternyata tidak). Jadi dalam kasus saya,

chmod a+rx android/gradlew

saya menggunakan perintah ini dan menjalankan proyek

Shubham_Narkhede
sumber
0

Kesalahan ini terkait izin gradle. Cukup rekatkan baris di bawah ini di terminal Anda dan jalankan ...

chmod a + rx android / gradlew

Gaurav Pandit
sumber
0

di folder android cmd run

chmod +x gradlew

dan lari

./gradlew clean

dan jalankan proyek root

react-native run-android
iman roosta
sumber