Travis.yml ./gradlew:权限被拒绝


Answers:


246

这取决于您对Unix 脚本的执行权限gradlew

可以使用以下命令进行修复:

git update-index --chmod=+x gradlew

有点决心了解问题。
首先,您可以使用以下方法检查权限:

git ls-tree HEAD

你会看见:

100644 blob xxxxxxxxxxx gradlew

如您所见,该文件具有644权限。

通过在gradlew文件中设置可执行标志来将其更改为755,可以对其进行修复:

git update-index --chmod=+x gradlew

只需提交并推送更改:

git commit -m "permission access for travis"

[master e80ab1b] gradlew permission access for travis
 1 file changed, 0 insertions(+), 0 deletions(-)
 mode change 100644 => 100755 gradlew

最后一次检查再次运行git ls-tree来查看更改:

git ls-tree HEAD

您可以看到:

100755 blob xxxxxxxxxxxxx   gradlew

解决此问题的另一种方法是使用:

before_install:
 - chmod +x gradlew

这种解决方案不会更改git repo中的权限,而只是更改执行中的权限运行时。


2
有效。我是在'before_script:'中完成的。谢谢!
Sudarshan Tanuku

1
没有理由不以正确的权限将脚本签入git(我会选择1754)。我chmod不愿在构建脚本中添加其他命令,因为1)它增加了不必要的复杂性2)对于重新克隆存储库的其他团队成员不起作用。
Alex

谢谢。它帮助了我。
Dimitri de Jesus

4
script:
 - chmod +x ./gradlew build connectedCheck

谢谢大家 此代码可用。重点是chmod +x

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.