找不到gradlew(没有这样的文件或目录)

huy*_*uyn 17 gradle gradlew

我从git加载一个项目并在MacBook上成功构建它.当我在终端窗口中键入'./gradlew assembleRelease'时,出现错误:

bash: ./gradlew: No such file or directory
Run Code Online (Sandbox Code Playgroud)

所以我检查gradlew是否在项目目录下,但我找不到它.但我仍然可以从'Gradle projects'窗口运行任务.

怎么了?

Ser*_*ich 35

gradlew脚本是所谓的Gradle包装器,这是一个独立的脚本,允许人们在没有安装gradle的情况下运行Gradle任务.但是,执行Gradle任务不一定存在,它绝对是可选的.

您可以通过执行任务在项目中生成Wrapper

gradle wrapper
Run Code Online (Sandbox Code Playgroud)

之后,您可以使用./gradlew脚本而不是gradlePATH

要指定Gradle版本,请在命令行上使用--gradle-version.只需执行命令:

gradle wrapper --gradle-version <your gradle version>
Run Code Online (Sandbox Code Playgroud)

在这里查看更详尽和全面的解释:https://docs.gradle.org/current/userguide/gradle_wrapper.html


Ran*_*vir 10

在我的情况下,我将gradlew文件从windows(10)复制到linux(centos7).

所以不得不跑

[user@server]$ dos2unix gradlew
Run Code Online (Sandbox Code Playgroud)

它奏效了.

更新:

如果你像我一样从Windows复制.做一件事,在记事本++中打开它,转到视图 - >显示符号 - >显示行结束.您可以注意到CRLF这是Windows EOL.现在转换它,所以你不必重做它.转换记事本++ - >编辑 - > EOL转换 - > Unix(LF)

就是这样,同时推动git fiddle aroung .gitattributes


yoA*_*ex5 6

没有这样的文件或目录(bash:./gradlew)

将所有用户的执行权限添加到现有权限中

chmod +x gradlew
Run Code Online (Sandbox Code Playgroud)

  • 好吧,这解决了我的问题,我可以在目录中看到 gradlew 但无法执行..这给了我提示,文件可能没有执行权限..谢谢 (2认同)