React—Native 安装环境问题

环境配置

需要安装的有:

Homebrew

Homebrew 是 Mac 中的一个包管理器。没有安装的话,点击 这里安装,我的版本如下:

mac-2:~ srain$ brew -v
Homebrew 0.9.5 (git revision ac9a7; last commit 2015-09-21)

版本过低将会导致无法安装后续几个组件。可用 brew update 升级。

Node.js 和 npm

Node.js 需要 4.0 及其以上版本。安装好之后,npm 也有了。

  • 通过 nvm 安装 Node.js

nvm 是 Node.js 的版本管理器,可以轻松安装各个版本的 Node.js 版本。

安装 nvm 可以通过 Homebrew 安装:

brew install nvm

或者按照 这里的方法安装。

然后安装 Node.js:

nvm install node && nvm alias default node

也可以直接下载安装 Node.js: https://nodejs.org/en/download/

安装好之后,如下:

mac-2:react-native srain$ node -v
v4.0.0
mac-2:react-native srain$ npm -v
<p>2.14.2</p><p>
</p><p><h2 style="margin: 0.75em 0px; padding: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 24px;"><span style="color: rgb(227, 108, 9);">安装 React-Native</span></h2></p><p style="margin-top: 0px; margin-bottom: 1.5em; padding-top: 0px; padding-bottom: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; line-height: 24px;">通过 <a target=_blank href="https://docs.npmjs.com/" target="_blank" style="cursor: pointer; color: rgb(0, 102, 204); text-decoration: none;">npm</a>安装即可:</p><p style="margin-top: 0px; margin-bottom: 1.5em; padding-top: 0px; padding-bottom: 0px; list-style: none; color: rgb(51, 51, 51); font-family: Helvetica, Tahoma, Arial, sans-serif; font-size: 14px; line-height: 24px;"></p><pre class="shell" name="code" style="margin-top: 0px; margin-bottom: 1em; padding: 10px; list-style: none; overflow: hidden; white-space: pre-wrap; border: 1px solid rgb(221, 221, 221); color: rgb(51, 51, 51); font-size: 14px; line-height: 24px; background: rgb(247, 247, 247);">npm install -g react-native-cli

App开发环境的设置

iOS

XCode 6.3 及其以上即可。

Android

这个比较麻烦。

  • 设置环境变量:ANDROID_HOME

export ANDROID_HOME=/usr/local/opt/android-sdk

  • SDK Manager 安装以下包:
  1. Android SDK Build-tools version 23.0.1
  2. Android 6.0 (API 23)
  3. Android Support Repository

初始化一个项目

文档提到:

react-native init AwesomeProject

初始化一个项目,其中 AwesomeProject 是项目名字,这个随意。等待一段时间之后(具体视网络情况而定),项目初始化完成。

进入到项目目录:

cd AwesomeProject
mac-2:AwesomeProject srain$ ls -l
total 24
drwxr-xr-x  14 srain  staff   476 Sep 21 09:52 android
-rw-r--r--   1 srain  staff  1023 Sep 21 11:47 index.android.js
-rw-r--r--   1 srain  staff  1065 Sep 20 11:58 index.ios.js
drwxr-xr-x   6 srain  staff   204 Sep 20 11:58 ios
drwxr-xr-x   5 srain  staff   170 Sep 21 10:31 node_modules
-rw-r--r--   1 srain  staff   209 Sep 20 11:58 package.json

其中 android 和 ios 中分别为两个平台的项目文件。index.android.js 和 index.ios.js 为两个页面对应的 js 文件。

运行项目

不管是 iOS 还是 Android,在开发调试阶段,都需要在 Mac 上启动一个 HTTP 服务,称为“Debug Server”,默认运行在 8081 端口,APP 通 Debug Server 加载 js。

iOS 和 Android 的模拟器,连接 Mac 本机的服务都很方便。但是通过 USB 或者 WiFi 连接调试,就稍微麻烦一些了。

iOS

还是非常简单,XCode 打开项目,点击运行就好。修改 index.ios.js, 在模拟器中 ⌘ + R 重新载入 js 即可看到相应的变化。

iOS 真机调试也简单,修改HTTP地址即可。

jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle"];

Android

按照官方文档,需要一个模拟器(Genymotion模拟器也可以)。但是不像 iOS,Android 开发平时更多是直接用真机进行开发和调试,如何运行部署到真机,下面会提到。

在运行项目之前需要 先启动package 运行命令:

npm start

运行命令:

react-native run-android

然后就会部署到模拟器,修改 index.android.js ,调出模拟器菜单键,选择重新载入 js 即可看到变化。

Android 真机调试

示例 App 直接部署到真机,红色界面报错,无法连接到 Debug Server。

如果是 5.0 或者以上机型,可通过 adb 反向代理端口,将 Mac 端口反向代理到测试机上。

adb reverse tcp:8081 tcp:8081

如果 5.0 以下机器,应用安装到测试机上之后,摇动设备,在弹出菜单中选择 Dev Setting > Debug Server host for device,然后填入 Mac 的 IP 地址(ifconfig 命令可查看本机 IP)

如果不是 Android 5.0+ (API 21) ,那么就没办法通过 adb reverse 进行调试,需要通过 WiFi 来连接上你的开发者服务器

让调试用电脑和你的手机必须处于相同的 WiFi 网络中下

  1. 打开震动菜单 (摇动设备)

  2. 前往 Dev Settings

  3. 选择 Debug server host for device

  4. 输入调试用电脑的局域网IP(IP+ 端口号)

  5. 点击 Reload JS




                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值