Ошибка с помощью 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
, выполнив:
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
чтобы исправить оболочку приложения)