我爱编程

2018-06-19 RN 开发

2018-06-20  本文已影响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 ..

上一篇下一篇

猜你喜欢

热点阅读