Команда gradlew не найдена?

119

Я работаю над проектом Java с помощью gradlew. В качестве ОС я использую Ubuntu Linux. Когда я запускаю "gradle", он запускается и дает мне информацию. Но когда я запускаю «gradlew», он выводит как «Команда 'gradlew' не найдена, вы имели в виду: Команда 'gradle' из пакета 'gradle' (вселенная) gradlew: команда не найдена»

Я провел свое исследование, у меня есть jdk, и я сделал sudo apt-get install gradle. Я совершенно невежественен

Хайден Стайтс
источник
51
Беги ./gradlew. Его нет на вашем пути, но это исполняемый файл, который находится в корневом каталоге проекта, который вы проверяете.
mkobit
2
Прочтите документацию по оболочке gradle, docs.gradle.org/current/userguide/gradle_wrapper.html .
ditkin

Ответы:

101

Необходимо создать оболочку Gradle. Попробуйте запустить Не gradle wrapper --gradle-version 2.13забудьте изменить 2.13 на свой номер версии gradle. После выполнения этой команды вы должны увидеть новые сценарии, добавленные в папку вашего проекта. Вы должны иметь возможность запускать оболочку с помощью ./gradlew buildдля сборки своего кода. Пожалуйста, обратитесь к этому руководству для получения дополнительной информации https://spring.io/guides/gs/gradle/ .

Алекс Уилсон
источник
174

Linux / MacOS

Как отмечалось в комментариях, просто запущен

./gradlew

работал у меня. Добавление ./указывает ему искать в текущем каталоге, поскольку его нет в пути.

Windows PowerShell

.\gradlew
Suragch
источник
26
сначала попробуйте "chmod + x gradlew", а затем "./gradlew", если не работает
Фади
для macOS catalina у меня работает "sudo bash ./gradlew"
Дэниел
53

Запуск этой команды bash работает для меня, chmod 755 gradlewпоскольку иногда свойства файла меняются при переходе с одной ОС на другую (Windows, Linux и Mac).

Айман Махгуб
источник
14
Конечно 755? Вы не хотите, чтобы кто-либо мог перезаписать доверенный исполняемый файл.
Дэвид Найп 08
7
chmod 777 ... классический.
vilpe89 05
1
Пожалуйста, не рекомендуйте "chmod 777". Исполняемые файлы никогда не должны быть доступны для записи всем.
Келли
19

такая же проблема возникает у меня ... Я проверяю разрешения файла wrx с помощью:
$ls -l ./gradlew -> -rw-rw-r-- (нет разрешения на выполнение)

поэтому я использую команду, $chmod +x ./gradlewи эта проблема решена.

шаньву
источник
15

С Mac,

Ничего не работает, кроме следующей команды

chmod 777 gradlew Тогда

./gradlew

MD. Шафиул Алам Биплоб
источник
Gradlew требуется разрешение на linux / mac, работающее для меня после chmod 777 gradlew в корне моего проекта.
Faisal
1
'chmod 777' делает мир gradlew доступным для записи. Это серьезная проблема безопасности. Вместо этого используйте chmod 555.
Келли
Я бы порекомендовал chmod 755 (-rwxr-xr-x). более 777
notStan
14

Если вы используете Mac, попробуйте предоставить root-доступ к gradlew, выполнив

chmod +x ./gradlew
Панкадж Гайкар
источник
11

Вдобавок @suraghch

Linux / MacOS ./gradlew clean

Windows PowerShell . \ Gradlew clean

Windows cmd gradlew clean

Санджив Рао
источник
Спасибо! после нескольких часов работы в среде macos это исправлено: ./gradlew clean
gpbaculio
5

Для пользователей Ubuntu (linux): выполнение "bash ./gradlew build«работает, но» ./gradlew build«не работает.

Для меня проблема заключалась в файловой системе NTFS, Linux не позволяет выполнять скрипт из NTFS. Попробуйте переместить код из NTFS в раздел Linux. тогда ./gradlew buildдолжно работать

абхи
источник
Работает и для RedHat 7
G_V
3

Во-первых, вам нужно запустить задачу gradle, которую вы упомянули для этой оболочки. Пример: gradle wrapperпосле выполнения этой команды проверьте свой каталог на наличие файлов gradlew и gradlew.bat. gradlew - это файл сценария оболочки, который может использоваться в Linux / Mac OS. gradlew.bat - это командный файл для ОС Windows. Тогда беги,

./gradlew build(Linux / Mac). Это сработает.

Сумуха ХС
источник
1

Если ответ, помеченный как правильный, не работает, это потому, что вам нужно идентифицировать себя как суперпользователя.

оболочка sudo gradle --gradle-версия 2.13

У меня это сработало.

Anxo P
источник
1

Если вы используете VS Code с флаттером, вы должны найти его в папке приложения в папке Android:

C: \ myappFolder \ android

Вы можете запустить это в терминале:

./gradlew signingReport
живи любя
источник
1

Перед использованием у вас должна быть локально доступная оболочка Gradle gradlew. Чтобы построить это

gradle wrapper # --gradle-version v.xy

При желании явно передайте версию gradle. На этом этапе создается двоичный файл gradlew. После этого вы сможете

./gradlew build
Рунак Датта
источник
0

Я использую идею intellj и в окнах в терминальном типе: gradlew.bat run у меня это работает.

Пн
источник
1
Окна разные . По какой-то причине он всегда разрешает исполняемые файлы, .как если бы они находились на пути, даже если они явно не находятся на пути.
Guss
0

Привет, @Hayden Stites. Я столкнулся с той же проблемой, но после нескольких попыток я обнаружил, что это происходит, потому что я пытался создать сборку в git bash вместо CMD с доступом администратора. Если вы создаете сборку с помощью командной строки, запускайте ее от имени администратора.

Вишал Пачпанде
источник