运行 react-native run-android 时出错

Posted

技术标签:

【中文标题】运行 react-native run-android 时出错【英文标题】:Error while running react-native run-android 【发布时间】:2018-09-05 08:34:07 【问题描述】:

https://facebook.github.io/react-native/docs/getting-started.html

我已按照此链接上的说明进行操作。但是应用程序没有在模拟器上启动

    然后我按照删除 node_modules 文件夹中的说明进行操作 - rm -rf node_modules && npm install 重置打包程序缓存 - rm -fr $TMPDIR/react-* 或 node_modules/react-native/packager/packager.sh --reset-cache 清除守望者手表 - watchman watch-del-all 重新创建项目 从头开始

并再次创建全新的项目,但每次弹出此错误时

我有

npm 4.6.1

节点 v8.11.4

jdk 版本 8

  "name": "p3",
  "version": "0.0.1",
  "private": true,
  "scripts": 
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  ,
  "dependencies": 
    "react": "16.4.1",
    "react-native": "0.56.0"
  ,
  "devDependencies": 
    "babel-jest": "23.4.2",
    "babel-preset-react-native": "5",
    "jest": "23.5.0",
    "react-test-renderer": "16.4.1"
  ,
  "jest": 
    "preset": "react-native"
  

请帮忙。

【问题讨论】:

React 和 React-Native 版本? @HedeH 用指定的版本编辑了我的帖子。 【参考方案1】:

据观察,最新的 react native 版本在依赖项中存在错误。我发现它可以通过修改 package.json 文件来工作。请通过添加以下代码更新您的 package.json 文件:

"dependencies": 
    "react": "^16.4.1",
    "react-native": "^0.55.4"
 ,
 "devDependencies": 
    "babel-preset-react-native": "^4.0.0",
 ,

然后使用以下命令:

npm update
npm cache clean --force
cd android
gradlew clean
cd..
react-native run-android

【讨论】:

我的 react-native 版本不同,所以我会尽快按照您的指示进行操作。目前我正在更新我的 android studio,因此将无法运行模拟器。完成后会告诉你结果。【参考方案2】:

尝试使用稳定版本创建项目,执行react-native init <Project Name> --version="0.55.2"。在此之后尝试react-native run-android

【讨论】:

【参考方案3】:

如果您想继续使用react-native 0.56.0 版本,

package.json试试这个配置:

"dependencies": 
  ...
  "babel-runtime": "^6.26.0",
  "react": "^16.4.2",
  "react-native": "^0.56.0",
  ...
,
"devDependencies": 
  ...
  "@babel/core": "^7.0.0-beta.56",
  "babel-eslint": "^8.2.3",
  "babel-jest": "^22.1.0",
  "babel-preset-react-native": "^5.0.0",
  ...
,

如果这不起作用,也请尝试运行此脚本:

在项目根目录下package.json文件中的scripts部分添加一个脚本,命名为build:android:(名字无所谓)


  ... 
  "scripts": 
    ...
    "build:android": "react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res",
    ...
  ,
  ...

像这样从终端运行它:

npm run build:android

希望对你有帮助:)

【讨论】:

谢谢,我会尽快尝试您的解决方案。当前更新正在运行。按照您的指示后会通知您结果。

以上是关于运行 react-native run-android 时出错的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的代码不能在 web 中的 react-native 代码中运行

React-Native 远程调试器无法在 iPhone 上运行

在 android 模拟器上运行 react-native

在 react-native 中运行脚本预构建

React-native 运行和重新加载应用程序显示空白屏幕

json 设施的脚本运行react-native