【问题标题】:Unable to run gradlew无法运行 gradlew
【发布时间】:2014-02-06 18:08:35
【问题描述】:

我已经用apply plugin: 'java' 设置了一个build.gradle 文件。我尝试使用指令 here 设置 gradle 包装器,但是当我输入 sudo ./gradlew build 时,我收到错误 sudo: ./gradlew: command not found。当我输入gradle build 时,项目构建良好。只是 gradlew 不起作用。
我什至尝试过sudo chmod +x gradlew,但没有成功。我正在使用 Fedora 20、64 位和 gradle 版本 1.10。

【问题讨论】:

  • 这听起来不像是 Gradle 问题;您只是在 shell 中运行特定的可执行文件时遇到了麻烦。你为什么sudo-ing 这个?
  • 我用 sudo 处理它,因为没有 sudo,它给出了这个错误:bash: ./gradlew: Permission denied 和 sudo,这个错误:sudo: ./gradlew: command not found。我能够运行其他可执行文件,所以我不明白为什么 gradlew 不执行。该文件以#!/usr/bin/env bash 行开头。
  • 应该不需要通过 sudo 运行 gradlew,所以奇怪的事情已经发生了。可以发一下ls -l的结果吗?
  • ls -l 的结果是-rw-------. 1 nav nav 5092 Feb 6 14:46 gradlew。这是在我做了chmod 777 gradlew 之后。这些文件位于我从 Fedora 终端访问的同一系统上的 Windows NTFS 分区上。错误是bash: ./gradlew: Permission denied
  • 嗯,你的症状和这个没有x权限集的文件完全一致。所以这可能是一个 NTFS 问题(虽然我对在 Linux 上安装 NTFS 一无所知......)

标签: gradle gradlew


【解决方案1】:

好的,所以解决方案是在 Linux 分区本身上运行 gradlew。不知何故,当我从安装在 Linux 中的 Windows 分区运行它时,即使我运行了chmod 777 gradlew,该文件也无法获得执行权限。当我将项目复制到 Linux 文件系统并运行它时,它工作正常(在为其设置执行权限后)。

【讨论】:

  • 即使我复制到 Linux 驱动器,它对我也不起作用。我必须在 linux 驱动器上克隆才能运行 gradlew。
  • 模式由分区的挂载选项决定(不能通过 chmod 更改)。 askubuntu.com/questions/11840/…
  • 有趣。这是对我有用的解决方案。当文件位于 NTFS(在我的情况下)文件系统上时,您似乎无法从 linux 机器执行文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-13
  • 1970-01-01
  • 2021-10-07
  • 2016-08-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-07
相关资源
最近更新 更多