美文网首页我爱编程
2018-06-19 RN 开发

2018-06-19 RN 开发

作者: 贝灬小晖 | 来源:发表于2018-06-20 09:09 被阅读22次

    RN 开发

    环境搭建

    1. Homebrew(系统的工具)

    Homebrew, Mac系统的包管理器,用于安装NodeJS和一些其他必需的工具软件。

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    译注:在Max OS X 10.11(El Capitan)版本中,homebrew在安装软件时可能会碰到/usr/local目录不可写的权限问题。可以使用下面的命令修复:

    sudo chown -R whoaim /usr/local

    注意:如果当前的用户是管理员,需要对权限进行许可,在执行上面的指令前先执行:sudo chmod -R g+w /usr/local

    2. Node

    使用Homebrew来安装Node.js.

    React Native目前需要NodeJS 5.0或更高版本。本文发布时Homebrew默认安装的是最新版本,一般都满足要求。

    brew install node

    3.YarnReact Native的命令行工具(react-native-cli

    npm install -g yarn react-native-cli

    -g 全局项目都可以使用

    4.推荐安装的工具#

    Watchman

    Watchman是由Facebook提供的监视文件系统变更的工具。安装此工具可以提高开发时的性能(packager可以快速捕捉文件的变化从而实现实时刷新)。译注:此工具官方虽然是推荐安装,但在实践中,我们认为此工具是必须安装,否则可能无法正常开发。

    创建RN 工程

    react-native init AwesomeProject

    cd AwesomeProject

    react-native run-ios

    使用yarn代替npm install

    yard add代替npm install --save

    其他坑

    react native 调试经典错误Ensure that the packager server is running

    react-native run-android 启动项目的时候,会自动启动一个JS服务器,相当于中间服务器的作用,虚拟机的项目连接的就是这个。然而在AS中直接点击运行并不会启动这个服务,需要自己手动启动,在react native项目中运行react-native start 先启动这个服务。

    https://github.com/status-im/status-react/issues/2246

    mvn -f modules/react-native-status/ios/RCTStatus/pom.xml dependency:unpack

    2.坑

    React Native: Command run-ios unrecognized

    在项目下面 npm install --save react-native@latest

    3.坑

    运行命令行 react-native-git-upgrade

    react-native version in "package.json" (0.51.0) doesn't match the installed version in "node_modules" (0.52.2).

    4.坑

    npm install如下冻结:

    npm info it worked if it ends with ok

    npm verb cli [ '/usr/local/Cellar/node/9.3.0_1/bin/node',

    npm verb cli '/usr/local/bin/npm',

    npm verb cli 'install',

    npm verb cli '--verbose' ]

    npm info using npm@5.6.0

    npm info using node@v9.3.0

    npm verb npm-session 96cbb8fb306ead19

    npm info lifecycle edge-react-gui@0.2.0~preinstall: edge-react-gui@0.2.0

    npm info lifecycle react-native-http@1.0.0~prepack: react-native-http@1.0.0

    ⸨ ░░░░░░░░░░░░░░░░░⸩ ⠧ loadIdealTree:loadAllDepsIntoIdealTree: info lifecycle react-nativ

    删除package.lock.json之后,问题就消失了。由于某种原因,安装的其余部分花费了很长时间。

    转成 5.5.1的版本

    npm install -g npm@5.5.1

    请将npm降级到5.5.1

    如果你正在使用nvm的话

    nvm安装8.9.3。

    不要使用8.9.4,因为安装npm 5.6.0会破坏构建。

    5.坑

    Bundling index.ios.js [development, non-minified, hmr disabled] 0.0% (0/1), failed.

    解决

    yarn install

    6.坑

    java版本过高

    7.坑

    给你加点弄node 内存

    node --max_old_space_size=4096 node_modules/react-native/local-cli/cli.js start

    其他
    打包iOS
    所以我这次只执行了以下步骤
    npm install
    make release-ios
    pod install

    提示
    'Statusgo/Statusgo.h' file not found

    mvn -f modules/react-native-status/ios/RCTStatus dependency:unpack
    pod install

    安卓

    make release-android

    cd android && ./gradlew assembleRelease && cd ..

    相关文章

      网友评论

        本文标题:2018-06-19 RN 开发

        本文链接:https://www.haomeiwen.com/subject/ahlzeftx.html