从 GitHub 克隆并运行 React Native 项目

IT技术 reactjs react-native react-router
2021-05-23 21:28:06

我正在尝试在我的手机中构建和运行 React Native 应用程序。我尝试使用入门,它工作正常。我执行以下操作

  1. cd AwesomeProject
  2. react-native start
  3. 在终端中打开一个新选项卡
  4. curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"

  5. react-native run-android

它在我的安卓手机上运行。

现在我试图从 GitHub运行一个项目,我做了以下

  1. git clone https://github.com/h87kg/NavigatorDemo.git
  2. cd NavigatorDemo
  3. react-native start

我得到Command 'start' unrecognized. Did you mean to run this inside a react-native project?错误。我应该怎么做才能运行这个项目?任何帮助表示赞赏。提前致谢。

更新

安装依赖项后,npm install我可以运行服务器。现在,当我尝试运行时react-native run-android,出现以下错误

JS server already running.
Building and installing the app on the device (cd android && ./gradlew installDebug)...
Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain
Could not install the app on the device, see the error above.
4个回答

您是否安装了节点module尝试npm install

  1. git clone https://github.com/h87kg/NavigatorDemo.git
  2. cd NavigatorDemo
  3. npm install
  4. react-native start

问题是android 文件夹中的gradlew文件不再可执行,因为您是从 git repo 克隆它的。

基本上,当您这样做时react-native run-android,它会做很多事情,包括为您运行命令,例如cd android && ./gradlew installDebug. 就在那里,它尝试执行 gradlew,但不能,因为该文件不可执行。这就是您收到该错误的原因。

只需cd进入android文件夹,然后执行chmod +x gradlew.

我找到了解决方案,这就是我如何让它工作并与面临同样问题的其他人分享

  1. 创建一个名为assetsinside的文件夹android/app/src/main/
  2. 从我现有的工作项目中复制gradle文件夹android/AwesomeProject
  3. (cd android && ./gradlew installDebug)
  4. curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"
  5. react-native run-android

这些是我遵循的确切步骤,希望它有所帮助。

  1. 从我现有的工作项目根目录复制 android/ 中的 gradle 文件夹
  2. 转到 android 目录并运行:./gradlew installDebug
  3. 现在将您的 gradle 文件夹复制回原始位置。

这是对我有用的解决方案。在此过程中不要忘记关闭节点服务器。