Подтвердить что ты не робот

Ошибка с помощью gradlew:/usr/bin/env: bash: нет такого файла или каталога

После передачи моего проекта gradlew файла с моей машины Windows на удаленное репо с помощью Git вызов gradlew на моем Linux-сервере завершился неудачно с этим сообщением:

/usr/bin/env: bash: нет такого файла или каталога

Что случилось?

4b9b3361

Ответ 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, выполнив:

sudo apt-get install dos2unix

sudo yum install -y dos2unix

а затем используйте dos2unix для преобразования строк

from CRLF Windows CarriageReturn + LineFeed

to LF Только Linux LineFeed:

dos2unix ./gradlew

Затем запустите gradlew для теста:

./gradlew clean -d

Ответ 3

Спасибо за ответы, они подчеркнули, что проблема заключалась в том, что Windows создала gradlew, когда я нахожусь на Mac.

Чтобы это исправить, из каталога приложения я запустил команду:

gradle wrapper

Это создает (заменяет сломанную) упаковку gradle, которая работает! (обратите внимание, что он использует вашу локальную установку gradle чтобы исправить оболочку приложения)