Github Actions报错cannot access './gradlew' 无此文件或目录如何解决
Github Actions 执行chmod找不到gradlew问题解决方案
报错根因
chmod: cannot access './gradlew': No such file or directory 错误和chmod命令本身无关,本质是Github Actions运行的Ubuntu环境中,工作目录下不存在gradlew脚本文件。
解决方案
- 排查仓库是否提交了
gradlew文件
多数此类问题都是因为项目根目录下的gradlew脚本被加入了.gitignore忽略规则,没有提交到远端仓库导致。请先确认本地项目根目录存在gradlew文件,且没有被忽略,将其和gradle/wrapper目录下的配置文件一同提交到develop分支即可。
若本地没有gradlew文件,可在项目根目录执行gradle wrapper命令生成全套Gradle Wrapper相关文件后再提交。 - 升级checkout动作版本
你当前使用的actions/checkout@v1是非常旧的版本,存在拉取代码不全的已知问题,建议升级到v4版本,修改对应步骤为:- uses: actions/checkout@v4 - 修正工作流配置缩进错误
你贴出的YAML配置存在多处缩进错误,Github Actions对YAML格式缩进要求严格,错误缩进会导致步骤执行异常,以下是修正后的完整配置参考:name: Android CI on: push: branches: [ develop ] pull_request: branches: [ develop ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up JDK 1.8 uses: actions/setup-java@v4 with: java-version: '8' distribution: 'temurin' - name: Change wrapper permissions run: chmod +x ./gradlew - name: Build with Gradle run: ./gradlew build - 临时生成Wrapper方案
如果你不希望将gradlew文件提交到仓库,可以在修改权限步骤之前新增一步生成Wrapper的命令:- name: Generate Gradle Wrapper run: gradle wrapper
内容的提问来源于stack exchange,提问作者Jhaman Das
相关产品推荐
相关产品推荐

