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 失败 MacOS