Команда 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

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


Gradlew требуется разрешение на linux / mac, работающее для меня после chmod 777 gradlew в корне моего проекта.
Faisal

1
'chmod 777' делает мир gradlew доступным для записи. Это серьезная проблема безопасности. Вместо этого используйте chmod 555.
Келли

Я бы порекомендовал chmod 755 (-rwxr-xr-x). более 777
notStan


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

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


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 с доступом администратора. Если вы создаете сборку с помощью командной строки, запускайте ее от имени администратора.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.