ChatGPT解决这个技术问题 Extra ChatGPT

gradlew:权限被拒绝

我正在尝试从我的命令行运行 gradlew,但一直面临以下错误。

Brendas-MacBook-Pro:appx_android brendalogy$ ./gradlew compileDebug --stacktrace
-bash: ./gradlew: Permission denied

我已经从我的项目目录运行这个命令。需要运行此命令,因为我在 Android Studio 0.2.x 上遇到了与此处遇到的相同(非描述性)错误:Android studio and gradle build error

我做错了什么,我该如何解决这个问题?


V
Vincent Cantin

尝试在您的 gradlew 文件上设置执行标志:

chmod +x gradlew


是否有某些原因默认模板尚未将 gradlew 设置为可执行文件?我不得不这样做似乎很奇怪。
我在设置 Atlassian Bamboo 构建时遇到了类似的问题;从 git 中检查 gradlew 文件,它没有可执行属性,因此必须在我的工作中添加一个“脚本”任务到 chmod +x,正如@Vincent 指出的那样。谢谢!
@Vincent 您能否详细说明为什么需要这样做来解决权限问题?
@Abhijit 您可以通过执行 ls -l 检查文件权限。这为您提供了最左侧列的文件权限。
如果您有 git repo,请不要忘记git update-index --chmod=+x ./gradlew
u
user1921819

也可以用

git update-index --chmod=+x gradlew

Windows 用户的正确修复。谢谢!
...并且之后需要提交和推送
V
Vishrant

您需要更新 gradlew 的执行权限

本地chmod +x gradlew

吉特:

git update-index --chmod=+x gradlew
git add .
git commit -m "Changing permission of gradlew"
git push

你应该看到:

mode change 100644 => 100755 gradlew

X
Xarvalus

您可以在命令前使用“bash”:

bash ./gradlew compileDebug --stacktrace

m
marioosh

Jenkins > 项目仪表板 >(选择 gradle 项目)配置 > 构建

使用 Gradle 包装器

使 gradlew 可执行 x

https://i.stack.imgur.com/zj5To.png


对你起作用吗?我在我的工作设置中设置了复选框,但它并没有导致 gradlew 可执行。我使用 clean before checkout 选项。
为我工作!您必须明确告诉詹金斯制作可执行文件。
e
ekarankow

git update-index --chmod=+x gradlew

此命令效果更好,尤其是在非 unix 系统上。


S
Sana Ebadi

只需在 Android Studio 终端(或您的 Linux/Mac 终端)中输入此 command

chmod +x gradlew

并尝试:

 ./gradlew assembleDebug

https://i.stack.imgur.com/bLC5V.png


I
Iman Roosta

在 android 文件夹 cmd 上运行

chmod +x gradlew

并运行

./gradlew clean

和根项目运行

react-native run-android

s
sercheo_87

通过这一步设置权限到 gradlew

steps {
    echo 'Compile project'
    sh "chmod +x gradlew"
    sh "./gradlew clean build --no-daemon"
}

K
Keshav Bhamaan

当您将 Windows 中的 android 项目构建迁移到任何 unix 操作系统 (Linux) 时,会出现此问题。因此,您需要在项目目录中运行以下命令,将 dos 换行符转换为 Unix 换行符。

find . -type f -print0 | xargs -0 dos2unix

如果你没有安装dos2unix。使用安装它

在 CentOs/Fedora

yum install dos2unix

在 Ubuntu 和其他发行版中

sudo apt install dos2unix

Q
Quinn Carver

如果在 chmod'ing 后它不起作用,请确保您没有尝试在 /tmp 目录中执行它。


B
Brijesh Shiroya

试试下面的命令:

chmod +x gradlew && ./gradlew compileDebug --stacktrace

S
Shubham Narkhede

尝试在 mac 上执行颤振运行时遇到了同样的错误。显然,在您的颤振项目中,有一个文件 android/gradlew 预计是可执行的(但事实并非如此)。所以就我而言,

chmod a+rx android/gradlew

我使用了这个命令并执行了项目


A
Ashutosh Kailkhura

仅适用于 Linux

视图 > 工具窗口 > 终端

./gradlew.bat tasks

./gradlew tasks

例如

./gradlew dokkaHtml

J
Jorge Tovar

有时错误只是一个错字,使用 gradle 而不是 gradlew 包装器。

https://i.stack.imgur.com/oeyUw.png


a
ajaas azeez

对于在 android studio 中遇到此问题的 Windows 用户,请将您的终端从 Windows PowerShell 更改为 cmd