好多人说rn好用,一直要推荐我用,我就不信了,来安装玩一下试试效果。实践出真知!安装过程各种坑,工具太多了,太麻烦了,差点放弃(还好坚持下来呢)。
(一)下载JDK 1.8(必须是1.8版本)
PATH:%JAVA_HOME%\bin
CLASSPATH:.;%JAVA_HOME%\lib\tools.jar (一定不要忘了前面的点)
(二)Android Studio、SDK以及模拟器(如果是真机运行不需要安装模拟器)
D:\android-sdk\tools;
D:\android-sdk\platform-tools;
(三)安装node
许多前端工具的安装都依赖于node的包管理器npm
path
中添加node环境变量。
示例如下:
E:\develop\nodejs\;
npm -v
回车,如下图:
查看node版本号
npm -v
回车,如下图:
查看npm版本号
※【说明】npm工具是nodejs里面自带的,所以只要配置了nodejs环境变量就OK了,不需要单独配置npm到环境变量。
(四)Python2.X(不支持Python3.X)
E:\develop\Python2.7.13\Scripts;
python
命令即可。
查看python安装版本
(五)yarn
(1)安装方式有以下两种:
E:\develop\yarn1.7.0\bin\;
npm install -g yarn
就可以安装yarn了。
C:\Users\用户名\AppData\Roaming\npm\yarn
(2)相关命令:
where yarn
命令查看电脑yarn的安装路径,可以看到我的安装路如下: C:\Users\\Administrator\AppData\Roaming\npm\yarn
C:\Users\\Administrator\AppData\Roaming\npm\yarn.cmd
E:\develop\yarn1.7.0\bin\yarn
E:\develop\yarn1.7.0\bin\yarn.cmd
E:\develop\yarn1.7.0\bin\yarn.js
执行npm view yarn version
查看yarn版本号,当前的版本号为1.7.0
执行 yarn -v
查看安装的yarn版本号,我当前的版本为1.7.0
执行yarn --version
查看安装的yarn版本号,我当前的版本为1.7.0
npm
命令安装的,可以有以下几种方式选择: 命令行直接安装升级:
npm install yarn -g
加上版本号安装:
npm install yarn@1.7.0 -g
加latest安装:
npm install yarn@latest -g
(六)react native
react native中文网 https://reactnative.cn/
npm install -g react-native-cli
react-native --version
图示如下,我当前的react-native-cli版本号为2.0.1:
查看本地react native版本号
npm info react-native
图示如下:
查看react native所有版本信息
npm install --save react-native@0.56.0
其中0.56.0是版本号,可以去官网查一下你要下载的版本号是哪一个,就填写哪一个。
(七)说明
1.安装完 yarn 之后就可以用 yarn 代替 npm 了,例如用yarn
代替npm install
命令,用yarn add 某第三方库名
代替npm install --save 某第三方库名
。
例如:
以前是npm命令:npm install --save react-native@0.56.0
你可以使用yarn命令替代:yarn add react-native@0.56.0
2.加快react native启动的几种方式:
npm config set registry=http://registry.npm.taobao.org/
加快react native启动的命令图示
npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global
使用全局设置的命令
nodejs\node_modules\npm
找到文件npmrc,打开后在该文件末尾加上
registry = https://registry.npm.taobao.org
然后保存退出即可。 yarn config set registry https://registry.npm.taobao.org --global
yarn config set disturl https://npm.taobao.org/dist --global
给yarn设置镜像
(一)使用命令行创建新项目
使用react-native init 项目名称
创建项目,如图所示:
创建项目
(二)手动打开安卓模拟器
可以使用脚本打开,
(二)编译并运行 React Native 应用
在刚创建的rn项目根目录,打开命令行,输入react-native run-android
命令,如图所示:
运行成功如下图所示:
【建议】
(一)问题1 The development server returned response error code: 500
解决方式:
在刚创建的项目的根目录运行下列代码:
首先执行yarn remove babel-preset-react-native
,然后再执行yarn add babel-preset-react-native@2.1.0
(二)问题2 关于命令行提示gradle的一次错
建议:把项目里面的android
目录导入到Android Studio,让Android Studio工具帮你自动构建。
(三)问题3 RN默认是用的gradle3.5构建的,所以建议使用AS2.3.X版本(但是不能大于3.0.0版本)导入项目。我用的是AS3.1.3,gradle构建成功的,但是命令行执行
react-native run-android
命令一直报各种错,问了别人也找不到解决方案,可能是RN对高版本的AS工具以及高版本的gradle不兼容吧。(四)如果模拟器上运行项目出现"Unable to load script from assets 'index.android.bundle'.Make sure your bundle is packaged correctly or you are running a package server."这样的错误怎么解决?
解决方式:
1.进入\android\app\src\main
目录,新建assets文件夹。
2.进入项目根目录cmd运行以下命令:
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
(五)如果第四步的问题还没有解决,建议使用以下方式创建和安装应用:(这个又是一种构建方式,和rn有点区别,可以玩一下,但不建议学这个。)
npm install -g create-react-native-app 这是安装`create-react-native-app`命令工具
create-react-native-app 项目名 例如:create-react-native-app demo1
进入项目根目录,输入`npm start`命令运行(也可以试试yarn start)
(六)Unable to resolve module 'AccessibilityInfo'
react native版本问题,建议下载react-native 0.55.4版本,以及react-native-cli 1.2.0 版本,具体操作如下: 打开cmd命令行,逐个输入以下命令:
npm uninstall -g react-native-cli
npm install react-native@0.55.4
npm install -g react-native-cli@1.2.0
然后打开一个项目目录,打开cmd命令行输入以下命令创建工程:
react-native init --version="0.55.4" 项目名
(七)Invariant Violation:Applicaction 你的项目名称 has not been registered.This is either due to a require() error during initialization or failure to call AppRegistry.registerCommponent.
错误如图所示:
这个问题一般是配置的问题,解决方式如下,确保registerComponent(参数1)
和getMainComponentName()返回值
这两个保持一致就OK:
根路径里面的index.js文件打开,请看AppRegistry.registerComponent('rn_demo', () => App);
我这里括号内参数1为rn_demo
,和项目根路径名称是一致的。
打开目录/android/app/src/main/java/com/项目名/MainActivity.java
,找到getMainComponentName()
方法,我这里返回的是rn_demo1
,事实上我项目根路径名字叫做rn_demo
。我只需要改成rn_demo
就好了。
@Override
protected String getMainComponentName() {
return "rn_demo1";
}