gradlew: Quyền bị từ chối


286

Tôi đang cố chạy gradlew từ dòng lệnh của mình, nhưng liên tục gặp phải lỗi sau.

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

Tôi đã chạy lệnh này từ thư mục dự án của tôi. Cần chạy lệnh này vì tôi đang gặp phải lỗi tương tự (không mô tả) trên Android Studio 0.2.x như đã gặp ở đây: Android studio và lỗi xây dựng lớp

Tôi đang làm gì đó sai và làm thế nào để tôi khắc phục điều này?

Câu trả lời:


817

Cố gắng đặt cờ thực thi trên tệp gradlew của bạn:

chmod +x gradlew


4
Ý bạn là, chmod + x gradlew? (: Nó đã hoạt động. Vui lòng chỉnh sửa câu trả lời của bạn để tôi có thể đánh dấu câu đó là câu được chấp nhận. Cảm ơn!
Brenda Nicole Tan

28
Có một số lý do mẫu mặc định chưa được đặt gradlew là có thể thực thi được không? Có vẻ kỳ lạ là tôi sẽ phải làm điều này.
Ankur

3
Tôi gặp vấn đề tương tự khi thiết lập bản dựng Atlassian Bamboo; kiểm tra tệp gradlew từ git, nó không có thuộc tính thực thi được nên phải thêm tác vụ "script" vào công việc của tôi để chmod + x như @Vincent chỉ ra. Cảm ơn!
Doug Ayers

@Vincent bạn có thể vui lòng giải thích lý do tại sao điều này là bắt buộc để giải quyết vấn đề cấp phép?
Abhijit

4
@Abhijit bạn có thể kiểm tra quyền truy cập tệp bằng cách thực hiện ls -l. Điều này cung cấp cho bạn quyền truy cập tệp trên cột ngoài cùng bên trái.
Sudhanshu

57

Cũng có thể được sửa với

git update-index --chmod=+x gradlew

1
Chính xác những gì tôi đang tìm kiếm!
sschrass

1
sửa lỗi thích hợp cho người dùng windows. Cảm ơn bạn!
GBP

5
... và cam kết và thúc đẩy là cần thiết sau đó
Michal Hosala


27

Bạn cần cập nhật quyền thực thi cho gradlew

Tại địa phương :chmod +x gradlew

Git :

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

Bạn nên thấy:

mode change 100644 => 100755 gradlew

Cảm ơn, đã giúp tôi rất nhiều!
Igor Fridman

26

Jenkins> Bảng điều khiển dự án> (chọn dự án lớp) Cấu hình> Xây dựng

x Sử dụng Gradle Wrapper

Thực hiện gradlew thực thi x

nhập mô tả hình ảnh ở đây


Nó làm việc cho bạn? Tôi đã đặt hộp kiểm trong cài đặt công việc của mình nhưng điều đó không dẫn đến việc thực hiện gradlew. Tôi sử dụng clean before checkouttùy chọn.
zubactik

1
Làm việc cho tôi! Bạn phải nói với jenkins một cách rõ ràng để thực hiện.
Harvey Lin

16

git update-index --chmod = + x gradlew

Lệnh này hoạt động tốt hơn đặc biệt là trên hệ thống không trộn.


2

Chỉ cần nhập cái này commandtrong Android Studio Terminal (Hoặc Linux / Mac Terminal của bạn)

chmod +x gradlew

và cố gắng:

 ./gradlew assembleDebug

nhập mô tả hình ảnh ở đây


1

nếu nó không hoạt động sau khi chmod'ing, hãy chắc chắn rằng bạn không cố thực thi nó trong thư mục / tmp.


1

Trong trường hợp của tôi, tôi đã thực thi các quyền và tôi không thể chạy gradlew ngay cả với sudo. vấn đề của tôi là dự án của tôi nằm trong một ổ cứng khác và tôi không có quyền thực thi trên ổ đĩa đó. Tôi chỉ cần gỡ bỏ cờ gắn noexec khỏi fstab và thêm cờ exec. sau đó ghi lại đĩa để thay đổi áp dụng.


0

Hãy thử lệnh dưới đây:

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

0

Tôi đã gặp lỗi tương tự khi cố gắng thực hiện flutter chạy trên máy mac. Rõ ràng, trong dự án rung của bạn, có một tệp android / gradlew dự kiến ​​sẽ được thực thi (và nó không phải là). Vì vậy, trong trường hợp của tôi,

chmod a+rx android/gradlew

tôi đã sử dụng lệnh này và thực hiện dự án


0

Lỗi này là sự cho phép liên quan. Chỉ cần dán dòng dưới đây trong thiết bị đầu cuối của bạn và chạy ...

chmod a + rx android / gradlew


0

trên thư mục cmd chạy android

chmod +x gradlew

và chạy

./gradlew clean

và chạy dự án gốc

react-native run-android
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.