gradlew出错:/ usr/bin/env:bash:没有这样的文件或目录

Mat*_*aun 39 linux git bash gradlew

gradlew使用Git 将我的项目文件从我的Windows机器提交到远程仓库后,gradlew在我的Linux服务器上调用失败并显示以下消息:

/ usr/bin/env:bash:没有这样的文件或目录

发生了什么?

Mat*_*aun 69

问题的原因是Windows上的Git将行gradlew样式从Unix样式(LF)转换为Windows样式(CRLF).

您可以使用关闭自动转换git config core.autocrlf false.

将行结尾设置gradlew回Unix样式可以解决问题.在Vim中,这是使用完成的:set fileformat=unix.

  • 非常感谢。这个答案节省了我很多时间! (2认同)

小智 37

这是因为gradlew文件具有Windows文件结尾.

您可以dos2unix使用apt-getyum运行安装:

sudo apt-get install dos2unix

sudo yum install -y dos2unix
Run Code Online (Sandbox Code Playgroud)

然后dos2unix用来转换行尾

来自 CRLF Windows CarriageReturn + LineFeed

LF Linux的换行只:

dos2unix ./gradlew
Run Code Online (Sandbox Code Playgroud)

然后运行你gradlew的测试:

./gradlew clean -d
Run Code Online (Sandbox Code Playgroud)


Blu*_*ell 10

感谢您的回答,这些强调了问题是 Windows 创建了 gradlew,当我在 mac 上时。

为了解决这个问题,我从应用程序的目录中运行了以下命令:

gradle wrapper

这会创建(替换损坏的)一个 gradle 包装器,它有效!(注意它使用您的本地gradle安装来修复应用程序的包装器)