Ошибка с помощью gradlew:/usr/bin/env: bash: нет такого файла или каталога
После передачи моего проекта gradlew файла с моей машины Windows на удаленное репо с помощью Git вызов gradlew на моем Linux-сервере завершился неудачно с этим сообщением:
/usr/bin/env: bash: нет такого файла или каталога
Что случилось?
Ответ 1
Причиной проблемы было то, что Git в Windows преобразовал окончания строк gradlew из стиля Unix (LF) в стиль Windows (CRLF).
Вы можете отключить это автоматическое преобразование, используя git config core.autocrlf false.
Установка конца строки gradlew обратно в стиль Unix устранила проблему. В Vim это делается с помощью :set fileformat=unix.
Ответ 2
Это связано с тем, что файл gradlew имеет окончание файлов Windows.
Вы можете установить dos2unix с помощью apt-get или yum, выполнив:
а затем используйте dos2unix для преобразования строк
from CRLF Windows CarriageReturn + LineFeed
to LF Только Linux LineFeed:
dos2unix ./gradlew
Затем запустите gradlew для теста:
./gradlew clean -d
Ответ 3
Спасибо за ответы, они подчеркнули, что проблема заключалась в том, что Windows создала gradlew, когда я нахожусь на Mac.
Чтобы это исправить, из каталога приложения я запустил команду:
gradle wrapper
Это создает (заменяет сломанную) упаковку gradle, которая работает! (обратите внимание, что он использует вашу локальную установку gradle чтобы исправить оболочку приложения)