gradlew: в доступе отказано

287

Я пытаюсь запустить gradlew из командной строки, но постоянно сталкиваюсь со следующей ошибкой.

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

Я уже запускаю эту команду из каталога моего проекта. Необходимо выполнить эту команду, так как я сталкиваюсь с той же (неописательной) ошибкой в ​​Android Studio 0.2.x, как и здесь: ошибка Android Studio и сборка gradle

Я делаю что-то не так и как мне обойти это?

Бренда Николь Тан
источник

Ответы:

818

Попробуйте установить флаг выполнения в вашем файле gradlew:

chmod +x gradlew

Винсент Кантин
источник
4
Вы имеете в виду, chmod + x gradlew? (: Это сработало. Пожалуйста, отредактируйте ваш ответ, чтобы я мог пометить его как принятый. Спасибо!
Бренда Николь Тан
28
есть ли какая-то причина, по которой шаблон по умолчанию не устанавливает gradlew как исполняемый файл? кажется странным, что я должен был бы сделать это.
Анкур
3
У меня была похожая проблема при настройке сборки Atlassian Bamboo; извлекая файл gradlew из git, он не имел исполняемого атрибута, поэтому пришлось добавить задачу «скрипт» в мою работу в chmod + x, как указывал @Vincent. Спасибо!
Даг Айерс
@ Винсент, не могли бы вы рассказать, почему это необходимо для разрешения проблемы с разрешениями?
Абхиджит
4
@Abhijit вы можете проверить права доступа к файлам, выполнив ls -l. Это дает вам права доступа к файлу в самом левом столбце.
Судханшу
59

Также может быть исправлено

git update-index --chmod=+x gradlew
user1921819
источник
1
Именно то, что я искал!
sschrass
1
правильное решение для пользователей Windows. Спасибо!
GBP
5
... а потом нужны
коммиты
33

Вы можете использовать «bash» перед командой:

bash ./gradlew compileDebug --stacktrace
user3816061
источник
27

Вам необходимо обновить разрешение на выполнение для gradlew

Локально :chmod +x gradlew

Git :

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

Тебе следует увидеть:

mode change 100644 => 100755 gradlew
Vishrant
источник
Спасибо, мне очень помогло!
Игорь Фридман
26

Jenkins> Панель инструментов проекта> (выберите проект Gradle) Настройка> Построить

x Используйте Gradle Wrapper

Сделать Gradlew исполняемым X

введите описание изображения здесь

Pnemonic
источник
Работает ли это для вас? Я установил флажок в настройках моей работы, но это не привело к тому, что gradlew стал исполняемым. Я использую clean before checkoutвариант.
zubactik
1
Работает для меня! Вы должны явно сказать Дженкинсу сделать исполняемый файл.
Харви Лин
16

git update-index --chmod = + x gradlew

Эта команда работает лучше, особенно в не-Unix системах.

ekarankow
источник
2

Просто введите это commandв Android Studio Terminal (Или ваш терминал Linux / Mac)

chmod +x gradlew

и попытаться:

 ./gradlew assembleDebug

введите описание изображения здесь

сана эбади
источник
1

если он не работает после chmod'а, убедитесь, что вы не пытаетесь выполнить его в каталоге / tmp.

Куинн Карвер
источник
1

В моем случае я выполнил разрешения и не смог запустить gradlew даже с sudo. моя проблема заключалась в том, что мой проект был на другом жестком диске, и у меня не было разрешения exec на этом диске. Я просто удалил флаг монтирования noexec из fstab и добавил флаг exec. затем перемонтируйте диск, чтобы изменения вступили в силу.

миллигенри bitarafan
источник
0

Попробуйте следующую команду:

chmod +x gradlew && ./gradlew compileDebug --stacktrace
Бриеш Широя
источник
0

Я получил ту же ошибку при попытке запустить флаттер на Mac. По-видимому, в вашем проекте флаттера есть файл android / gradlew, который, как ожидается, будет исполняемым (и не был). Так что в моем случае,

chmod a+rx android/gradlew

я использовал эту команду и выполнил проект

Shubham_Narkhede
источник
0

Эта ошибка связана с разрешением Gradle. Просто вставьте строку ниже в вашем терминале и запустите ...

chmod a + rx android / gradlew

Гаурав Пандит
источник
0

на андроид папку cmd запустить

chmod +x gradlew

и беги

./gradlew clean

и запуск корневого проекта

react-native run-android
Иман Руста
источник