在模拟器udara上运行react native项目时出现spawnSync ./gradlew EACCES错误


74

我正在尝试使用react-native run-android将我的react-native应用程序安装在android studio模拟器上。我已经使用abd-devices检查了模拟器是否可用,并且已经运行了npm-install。

我正在将Ubuntu 18.04与最新版本的android studio和最新的Pixel 2 XL API 28一起使用。

我收到以下错误:

spawnSync ./gradlew EACCES

Error: spawnSync ./gradlew EACCES
    at Object.spawnSync (internal/child_process.js:998:20)
    at spawnSync (child_process.js:622:24)
    at Object.execFileSync (child_process.js:650:13)
    at runOnAllDevices (/home/user/react/front-end/project/node_modules    /react-native/local-cli/runAndroid/runAndroid.js:299:19)
    at buildAndRun (/home/user/react/front-end/project/node_modules/react-native/local-cli/runAndroid/runAndroid.js:135:12)
    at isPackagerRunning.then.result (/home/user/react/front-end/project/node_modules/react-native/local-cli/runAndroid/runAndroid.js:65:12)
    at processTicksAndRejections (internal/process/next_tick.js:81:5)

我尝试过几次重新启动PC和仿真器。有任何想法吗?

更新:我重新安装了JDK,npm,react-native-cli和android studio。它仍然给我完全相同的错误。请帮忙。


您是否尝试过增加inotify观察者的数量?github.com/guard/listen/wiki/…–
安德鲁(Andrew)

@Andrew现在尝试过。它什么也没做:(
dudeperryfect

Answers:


296

我用以下方法解决了这个问题:

chmod 755 android/gradlew 

chmod命令设置文件或目录的权限。 https://www.computerhope.com/unix/uchmod.htm


2
成功解决了问题。但是,如果您解释它的功能,那就太好了。我认为对许多人本来会有用。
AL-zami,

3
@ Grez.Kev此命令使gradlew文件成为可执行文件。哪个帮助代码可以运行。这种解决方案节省了我的时间。Thnx
Chander Shakher Ghorela-大师

我的右相对路径的平台/安卓/ gradlew和它的作品
A. D'阿方索

2
我的android目录下没有gradlew目录,该怎么办?
JollyRoger

搞什么鬼?!你救了我的命..本来从未想过这件事
蓝博特


10

我尝试了上述解决方案。但是由于权限问题,我不得不使用sudo。您可以通过运行命令来解决它

sudo chmod 755 android/gradlew


1
您能否解释为什么不使用其他答案中的相同路径?
Nico Haase

0

我认为这是我之前遇到此问题的权限问题,您可以通过更改权限来解决它,运行以下命令

chmod 755 android/gradlew


0

这就是我所做的

sudo chmod -R 777 <project directory> 

sudo chmod -R 777 ./sampelapp

1
chmod 777绝不是任何事情的正确答案。
Wodin
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.