在Ubuntu 14.04中使用ionic build android时出现错误:Error: spawn EACCES。

22
我开发了一个Ionic2项目。
当我执行“ionic build android”时,出现了以下错误。

enter image description here

我的 Ionic 信息如下:

Cordova CLI 版本:6.3.0

Ionic 框架版本:2.0.0-beta.10

Ionic CLI 版本:2.0.0-beta.36

Ionic App Lib 版本:2.0.0-beta.19

操作系统:发布商 ID:Ubuntu 描述:Ubuntu 14.04.5 LTS

Node 版本:v4.4.7

我在 Google 上搜索了,但是没有解决方案适用于我。

我该如何解决这个问题?


我认为这是因为你的路径问题。 - Mohan Gopi
7个回答

52

构建应用程序时出现权限错误

您需要授予Gradle权限

sudo chmod -R 777 /Applications/Android\ Studio\ 3.0\ Preview.app/Contents/gradle

享受吧 :)


我的荣幸,谢谢 :) - Krunal Vaghela
问题已解决!谢谢。 - Fernando
Krunal,你不知道你的解决方案为我省了多少麻烦。我到处都在寻找。谢谢你节省了我很多时间和沮丧! - Martin Adams
谢谢你救了我! - Ramesh Murugesan
2
应该使用 +x 而不是 777。这样可以使 gradle 在不影响其他权限设置的情况下可执行。 - jkasten
1
我必须将目标设置为.../bin才能使其正常工作。例如:sudo chmod -R 777 /Applications/Android\ Studio.app/Contents/gradle/gradle-4.1/bin - Xaxis

29

执行这个命令

sudo chmod -R a+rwx /appfolder

这是由于权限问题引起的。有关问题的更多信息,请单击此处

如果这不能解决您的问题,则可能是用户配置文件目录中的权限问题。请在用户目录上尝试以上命令。它需要一些时间来应用权限。

祝好。


它有显示任何错误吗?你参考了这个吗:https://dev59.com/kVwZ5IYBdhLWcg3wBcQJ#32314465 - Hardik Vaghani
你可以尝试将项目移动到另一个位置后构建项目吗?也可以在桌面文件夹上尝试该命令。 - Hardik Vaghani
如果出现这种情况,那么很可能是你的用户目录在操作系统卷中出了问题。尝试按下命令键。我之前也遇到过同样的问题。 - Hardik Vaghani
让我们在聊天中继续这个讨论。点击此处进入聊天室 - Hardik Vaghani
1
可以了。我在“a+rwx”中漏掉了x。谢谢。 - Manish Pradhan

8

在进行 Cordova 构建时,请使用 verbose 参数:

cordova build -verbose

它会返回需要 chmod +x 的路径。

7
我正在使用Cordova在我的Android设备上运行混合应用程序,但在不成功的构建过程中两次遇到以下错误...
错误:spawn EACCES
Krunel Vaghela上面的回答在某种程度上帮助了我...
这是构建应用程序时的权限错误。 您需要授予Gradle权限。 sudo chmod -R 777 /Applications/Android\ Studio\ 3.0\ Preview.app/Contents/gradle 但我仍然遇到此错误: “chmod:-r:没有那个文件或目录”
我正在使用此命令:
[Sandis-Macbook-Pro:Users sandi$ sudo chmod -R 777 /Applications/Android Studio.app/Contents/gradle/gradle-4.1/bin/gradle

请注意,我的安卓应用程序名称为“Android Studio.app”(名称中有一个空格)。 解决方法是将路径用引号括起来,如下所示:
[Sandis-Macbook-Pro:Users sandi$ sudo chmod -R 777 "/Applications/Android Studio.app/Contents/gradle/gradle-4.1/bin/gradle"

注意:为了找到权限问题所在的文件夹,我需要使用这个命令:

sudo build -verbose

这导致了权限问题文件夹的路径如下:
ANDROID_HOME=/Users/sandi/Library/Android/sdk
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home
Running command: "/Applications/Android Studio.app/Contents/gradle/gradle-4.1/bin/gradle" -p /Users/sandi/Desktop/CORDOVA_NOV16/HHUB_NOV17/hhub_CURRENT/platforms/android wrapper -b /Users/sandi/Desktop/CORDOVA_NOV16/HHUB_NOV17/hhub_CURRENT/platforms/android/wrapper.gradle
Error: spawn EACCES

所以,请将“Running command:”后面的路径放在引号内,然后放在...之后。
chmod -r 777 

那就是拯救了我的一天。


1
谢谢您的解释,我明白了全部的内容。虽然 -verbose 没有起作用,但是我终于成功构建了我的 Ionic 项目。非常感谢! - Vince Banzon

3

我遇到了相同的问题,通过在我的Sdk文件夹上赋予777权限来解决了这个问题:

chmod -R 777 /YOURINSTALLOFANDROID/Sdk


0

只需删除"node_modules"文件夹,并使用重新安装命令进行安装

sudo npm i 

希望它能正常工作..谢谢..!


0

升级到Android 3.2后,gradle版本已经升级至4.6

因此,我不得不使用以下命令在我的Mac终端中修改gradle文件权限。

sudo chmod 755 "/Applications/Android Studio.app/Contents/gradle/gradle-4.6/bin/gradle"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接