react-native run-android 从终端失败

Posted

技术标签:

【中文标题】react-native run-android 从终端失败【英文标题】:react-native run-android fails from terminal 【发布时间】:2019-10-15 19:50:58 【问题描述】:

D:\ReactNative\AwesomeProject>react-native run-android info 运行 jetifier 将库迁移到 AndroidX。您可以使用“--no-jetifier”标志禁用它。 Jetifier 找到 863 个文件来转发-jetify。使用 4 名工人... info 正在启动 JS 服务器... 信息正在启动模拟器... 错误无法启动模拟器。原因:没有找到模拟器作为emulator -list-avds 的输出。 警告 请手动启动模拟器或连接设备。否则应用程序可能无法启动。 信息 正在安装应用程序... :ReactNative:Cannot run program "npx": CreateProcess error=2, 系统找不到指定的文件 :ReactNative:原生模块自动导入失败。

FAILURE:构建失败并出现异常。

在哪里: 脚本 'D:\ReactNative\AwesomeProject\node_modules@react-native-community\cli-platform-android\native_modules.gradle' 行:169

出了什么问题: 评估脚本时出现问题。

无法在空对象上调用 getErrorStream() 方法

尝试: 使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。

通过https://help.gradle.org获得更多帮助

1 秒内构建失败

错误 无法安装应用程序。确保您已设置 Android 开发环境:https://facebook.github.io/react-native/docs/getting-started.html#android-development-environment。使用 --verbose 标志运行 CLI 以获取更多详细信息。 错误:命令失败:gradlew.bat app:installDebug -PreactNativeDevServerPort=8081

FAILURE:构建失败并出现异常。

在哪里: 脚本 'D:\ReactNative\AwesomeProject\node_modules@react-native-community\cli-platform-android\native_modules.gradle' 行:169

出了什么问题: 评估脚本时出现问题。

无法在空对象上调用 getErrorStream() 方法

尝试: 使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。

通过https://help.gradle.org获得更多帮助

1 秒内构建失败

at checkExecSyncError (child_process.js:621:11)
at execFileSync (child_process.js:639:15)
at runOnAllDevices (D:\ReactNative\AwesomeProject\node_modules\@react-native-community\cli-platform-android\build\commands\runAndroid\runOnAllDevices.js:94:39)
at processTicksAndRejections (internal/process/task_queues.js:93:5)

【问题讨论】:

欢迎来到 Stack Overflow!请阅读help pages,获取SO tour,了解how to ask good questions,以及此question checklist。您的问题包含没有描述的错误输出。请通过添加MCVE 来改进此问题。 问题很明显 @chandrakant Chaturvedi 请查看我的回答。 【参考方案1】:

对我来说,问题出在这个 cli 上:

@react-native-community/cli-platform-android

有问题的版本:

3.0.0-alpha.7

只需运行此程序即可安装最新的稳定版本:

npm i @react-native-community/cli-platform-android@2.9.0

2020 年更新:

如果此解决方法现在不起作用,请查看此链接以使用 repo 中的最新版本,并查看您的 cli 版本以比较并使用正确的版本:

https://www.npmjs.com/package/@react-native-community/cli-platform-android

【讨论】:

哇,我找了一个小时才意识到 react native 自己的设置有一个坏包版本!?谢谢你 @zackify 是的,对我来说是一个多小时,我很高兴它对你有帮助。 @zackify 这是一个核心库依赖吗? 谢谢。听从你的建议真是太好了【参考方案2】:

在 linux 上遇到了同样的问题。我所要做的就是将 npx 全局安装到我的机器上,仅此而已。

sudo npm install -g npx

这是因为 native_modules.gradle 中的第 155 和 159 行:

def command = "$npx --quiet react-native config"

...

cmdProcess = Runtime.getRuntime().exec(command)

它尝试执行命令,但找不到命令 npx。

【讨论】:

【参考方案3】:

我已经从旧项目中复制并替换了这个文件,现在它成功了。

node_modules@react-native-community\cli-platform-android\native_modules.gradle'

【讨论】:

【参考方案4】:

对我来说,我没有在我的 AndroidManifest.xml 文件中关闭标签。

【讨论】:

【参考方案5】:

我遇到了同样的问题,为了解决这个问题,你必须降级你的 react-native 版本或使用自定义 react-native 版本创建项目。 react-native init AwesomeProject --version X.XX.X react-native init myfirstProject --version 0.60.0 (来自官方反应原生文档)。https://facebook.github.io/react-native/docs/getting-started 现在您可以直接从命令行运行它,也可以打开 Android Studio,然后在其中打开 React Native 应用程序的 Android 文件夹(它将同步 gradles 文件并构建)。

【讨论】:

【参考方案6】:

在 github 上建议了一个关于对 native_modules.gradle 文件进行更改的临时修复。您需要转到该文件位置 YourProjectDir\node_modules@react-native-community\cli-platform-android\native_modules.gradle 并在第 153 行,将 npx --quiet react-native config 更改为 npx.cmd --quiet react-native config。 p>

Original answer

【讨论】:

【参考方案7】:

复制粘贴 package.json 和 native_modules.gradle https://github.com/react-native-community/cli/tree/master/packages/platform-android

【讨论】:

尝试提供有关您的答案的简短提示。这样它很快就会到达。链接不会给人留下深刻印象【参考方案8】:

在 Windows 中

设置环境变量

系统变量 > 路径 > C:\Users\ ankit\ .WebStorm2019.3\config\node\node-v12.13.1-win-x64

【讨论】:

【参考方案9】:

为了解决这个难题,首先使用这个命令

yarn install

那么,

npx react-native start

和,

npx react-native run-android

【讨论】:

以上是关于react-native run-android 从终端失败的主要内容,如果未能解决你的问题,请参考以下文章

使用 react-native run-android 运行时出现 React-Native 错误

react-native run-android 失败

运行 react-native run-android 时出错

react-native run-android 失败 MacOS

react-native run-android 不起作用:/

运行 react-native run-android 时出错