MacOS React Native环境搭建

最近打算自学一下React Native,这里简单记录一下Mac上配置React Native环境的过程和根据官方指南配置遇到的几个小问题。

环境搭建

必要的软件

在mac上配置React Native环境首先需要安装以下工具和软件。

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

根据官方指南设置npm镜像

npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global
Yarn

Yarn是 Facebook 提供的替代 npm 的工具,可以加速 node 模块的下载。

npm install -g yarn

同样需要设置镜像

yarn config set registry https://registry.npm.taobao.org --global
yarn config set disturl https://npm.taobao.org/dist --global

安装React Native

React Native

React Native 的命令行工具用于执行创建、初始化、更新项目、运行打包服务(packager)等任务。

npm install -g react-native-cli
Xcode

此处以ios项目为例,需要预先装好Xcode。React Native 目前需要Xcode 8.0 或更高版本。你可以通过 App Store 或是到Apple 开发者官网上下载。一般来说这一步骤会同时安装 Xcode IDE 和 Xcode 的命令行工具。保险起见,可以启动 Xcode,并在Xcode | Preferences | Locations菜单中检查一下是否装有某个版本的Command Line Tools。

安装Watchman工具

Watchman是由 Facebook 提供的监视文件系统变更的工具。安装此工具可以提高开发时的性能(packager 可以快速捕捉文件的变化从而实现实时刷新)。

brew install watchman

测试安装

这部分是官方指南讲解的不是很透彻的地方。根据官方指南,我们需要运行以下命令来完成AwesomeProject的运行。

react-native init AwesomeProject
cd AwesomeProject
react-native run-ios

在执行init的过程中,可能会发现terminal卡在这个地方:

info Installing required CocoaPods dependencies

不要慌张,这是因为CocoaPods需要较长的时间安装,等待30-40mins即可。
如果安装失败,可以根据失败信息的提示,执行如下命令:

cd AwesomeProject
pod install

这个时候可能会遇到如下报错:

SDK “iphoneos” cannot be located

这里是因为Xcode的默认路径在Application/Library而不是Applications/
我们打开一个新的终端,输入以下命令查看Xcode路径:

sudo xcode-select --print-path

如果看到路径包含/Library/Developer/ ,则输入以下命令修改Xcode路径:

sudo xcode-select --switch /Applications/Xcode.app

重新运行pod install,可以看到一切正常。
运行project,ios虚拟机自动启动,可以看到如下界面:

8dJa1U.png

至此,React Native的ios环境搭建完成。

参考资料

[官方指南]https://reactnative.cn/docs/0.40/getting-started/
https://stackoverflow.com/questions/56896224/react-native-installing-required-cocoapods-dependencies-stuck
https://www.ryadel.com/en/xcode-sdk-iphoneos-cannot-be-located-mac-osx-error-fix/

你可能感兴趣的:(MacOS React Native环境搭建)