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

时间:2019-02-05 19:29:34

标签: react-native gradle android-gradle

我正在尝试使用     react-native运行Android 在Android Studio模拟器上安装我的react-native应用程序。 我已经使用abd设备检查了模拟器是否可用,并且已经运行了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。它仍然给我完全相同的错误。请帮忙。

11 个答案:

答案 0 :(得分:30)

我通过以下方法解决了此问题:

PARTITION BY

答案 1 :(得分:11)

我认为这是权限问题,我在更改权限之前解决了此问题,请运行以下命令

chmod 755 android/gradlew

答案 2 :(得分:5)

这是由于权限问题。您可以通过运行命令来解决它

sudo chmod 755 android/gradlew

答案 3 :(得分:0)

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

chmod 755 android/gradlew

答案 4 :(得分:0)

这就是我所做的

sudo chmod -R 777 <project directory> 

示例

sudo chmod -R 777 ./sampelapp

答案 5 :(得分:0)

适用于 Big Sur(Apple MacBook Air M1 芯片)

chmod 755 android/gradlew 有效

答案 6 :(得分:0)

这对我有用 chmod 755 android/gradlew

答案 7 :(得分:0)

在 MacBook Air M1 芯片上 chmod 755 android/gradlew 效果很好。还要在 android/local.properties 文件中添加以下行。

sdk.dir = /Users/YourUserNAME/Library/Android/sdk

答案 8 :(得分:0)

该问题与权限有关, 试试这个命令。

chmod 755 android/gradlew 

答案 9 :(得分:0)

在@Jinkey 的第一个批准答案中,如果您想知道在哪里运行此命令,就像我在 Mac 上的情况一样,请按照以下步骤操作:

  1. 在终端中导航到项目文件夹 cd <project folder>,确保项目路径正确。
  2. 然后在文件夹中,通过按原样复制和粘贴来运行命令 chmod 755 android/gradlew

答案 10 :(得分:0)

对于 Mac,这对我有用。

sudo chmod 755 android/gradlew