zoukankan      html  css  js  c++  java
  • Mac 安装react-native 环境踩坑记

    我的工程创建时间是2019.7.11号下午   :首先看一下最后我的工程的package.json各个包的版本:

    {
    "name": "MyApp",
    "version": "0.0.1",
    "private": true,
    "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
    },
    "dependencies": {
    "react": "16.8.3",
    "react-native": "0.59.8",
    "react-native-gesture-handler": "^1.3.0",
    "react-navigation": "^3.11.0"
    },
    "devDependencies": {
    "@babel/core": "^7.5.4",
    "@babel/runtime": "^7.5.4",
    "babel-jest": "^24.8.0",
    "jest": "^24.8.0",
    "metro-react-native-babel-preset": "^0.55.0",
    "react-test-renderer": "16.8.3"
    },
    "jest": {
    "preset": "react-native"
    }
    }

    1.安装依赖

    brew install node    brew install watchman    注意 node>10  

    安装yarn 

    npm install -g yarn react-native-cli

    安装完 yarn 后同理也要设置镜像源:

    yarn config set registry https://registry.npm.taobao.org --global
    yarn config set disturl https://npm.taobao.org/dist --global
    
     
    在Appstore下载Xcode  版本>10
    React Native 目前需要Xcode 9.4 或更高版本。你可以通过 App Store 或是到Apple 开发者官网上下载。
    这一步骤会同时安装 Xcode IDE、Xcode 的命令行工具和 iOS 模拟器。
    创建新项目
    安装第三方依赖,再http://bbs.reactnative.cn/topic/4301/ios-rn-0-45以上版本所需的第三方编译库-boost等
    选择最高版本,复制到.rncahce文件夹下
    需要安装到根目录下的.rncache文件夹 所以执行一下操作,

    hewenkedeMacBook-Pro:AwesomeProject hewenke$ cd ~

    hewenkedeMacBook-Pro:~ hewenke$ mkdir .rncache

    hewenkedeMacBook-Pro:~ hewenke$ cp ~/Downloads/boost_1_63_0.tar.gz ~/.rncache/ 

    hewenkedeMacBook-Pro:~ hewenke$ cp ~/Downloads/double-conversion-1.1.5.tar.gz ~/.rncache/ 

    hewenkedeMacBook-Pro:~ hewenke$ cp ~/Downloads/double-conversion-1.1.6.tar.gz ~/.rncache/ 

    hewenkedeMacBook-Pro:~ hewenke$ cp ~/Downloads/folly-2018.10.22.00.tar.gz ~/.rncache/ 

    hewenkedeMacBook-Pro:~ hewenke$ cp ~/Downloads/glog-0.3.5.tar.gz ~/.rncache/ 

    hewenkedeMacBook-Pro:~ hewenke$ cd .rncache

    hewenkedeMacBook-Pro:.rncache hewenke$ ls

    boost_1_63_0.tar.gz folly-2018.10.22.00.tar.gz

    double-conversion-1.1.5.tar.gz glog-0.3.5.tar.gz

    double-conversion-1.1.6.tar.gz

    hewenkedeMacBook-Pro:.rncache hewenke$ rm double-conversion-1.1.5.tar.gz

    hewenkedeMacBook-Pro:.rncache hewenke$ ls

    boost_1_63_0.tar.gz folly-2018.10.22.00.tar.gz

    double-conversion-1.1.6.tar.gz glog-0.3.5.tar.gz

    安装完第三方依赖,就可以创建新项目
    react-native init AwesomeProject
    初始化结束以后cd AwesomeProject && react-native run-ios
    就可以启动项目
    ===>注意事项 不要初始化0.44版本的项目。问题太多。
     
     
    app.js
    /**
    * Sample React Native App
    * https://github.com/facebook/react-native
    *
    * @format
    * @flow
    */

    import React, {Fragment} from 'react';
    import {
    SafeAreaView,
    StyleSheet,
    ScrollView,
    View,
    Text,
    StatusBar,
    } from 'react-native';

    import {
    Header,
    LearnMoreLinks,
    Colors,
    DebugInstructions,
    ReloadInstructions,
    } from 'react-native/Libraries/NewAppScreen';

    const App = () => {
    return (
    <Fragment>
    <StatusBar barStyle="dark-content" style={{backgroundColor:'#99cc61'}}/>
    <SafeAreaView>
    <ScrollView
    contentInsetAdjustmentBehavior="automatic"
    style={styles.scrollView}>
    <Header />
    <View style={styles.body}>
    <View style={styles.sectionContainer}>
    <Text style={styles.sectionTitle}>Step One</Text>
    <Text style={styles.sectionDescription}>
    Edit <Text style={styles.highlight}>App.js</Text> to change this
    screen and then come back to see your edits.
    </Text>
    </View>
    <View style={styles.sectionContainer}>
    <Text style={styles.sectionTitle}>See Your Changes</Text>
    <Text style={styles.sectionDescription}>
    <ReloadInstructions />
    </Text>
    </View>
    <View style={styles.sectionContainer}>
    <Text style={styles.sectionTitle}>Debug</Text>
    <Text style={styles.sectionDescription}>
    <DebugInstructions />
    </Text>
    </View>
    <View style={styles.sectionContainer}>
    <Text style={styles.sectionTitle}>Learn More</Text>
    <Text style={styles.sectionDescription}>
    Read the docs to discover what to do next:
    </Text>
    </View>
    <LearnMoreLinks />
    </View>
    </ScrollView>
    </SafeAreaView>
    </Fragment>
    );
    };

    const styles = StyleSheet.create({
    scrollView: {
    backgroundColor: Colors.lighter,
    },
    body: {
    backgroundColor: Colors.white,
    },
    sectionContainer: {
    marginTop: 32,
    paddingHorizontal: 24,
    },
    sectionTitle: {
    fontSize: 24,
    fontWeight: '600',
    color: Colors.black,
    },
    sectionDescription: {
    marginTop: 8,
    fontSize: 18,
    fontWeight: '400',
    color: Colors.dark,
    },
    highlight: {
    fontWeight: '700',
    },
    });

    export default App;

    页面就可以正常出来。

    按照官网   需要路由,但是后期如果使用路由组件react-navigation 和react-native-gesture-handler 安装这两个库以后,react-native>=0.6就会出错

    这两个的安装按照  官网来 连接  https://reactnavigation.org/docs/zh-Hans/getting-started.html#%E5%AE%89%E8%A3%85

    这个时候需要吧版本降到0.6一下 比如0.59.8,我安装的是0.59.8  react-native  init demo --version 0.59.8 重新新建一个工程, 完了执行react-native run-ios  就可以运行了,这个编译时间比教长,就可以正常使用路由了
  • 相关阅读:
    通过TomCat获取html文件时中文乱码
    H5小细节
    jquery中自定义函数被事件调用
    CSS-规则声明
    CSS-继承、层叠、特指
    CSS-伪类
    CSS-属性选择器
    CSS-ID和类选择器
    CSS-上下文选择器
    JQ实现多图片预览和单图片预览
  • 原文地址:https://www.cnblogs.com/-youth/p/11174612.html
Copyright © 2011-2022 走看看