[react native]mac M2搭建react native-iOS端 全过程!!!

在M2芯片的mac上搭建rn遇到了很多问题,经历了大半个月陆陆续续把问题解决了,很开心能用一篇文章总结出来。

文章目录

  • 前言
  • 一、前期准备
  • 二、问题描述
    • 1.下载Ruby Gems失败✖ Installing Ruby Gems
    • 2.下载cocoapods失败✖ Installing CocoaPods dependencies
    • 3.fatal: unable to access 'https://github.com/facebook/folly.git/': Failure when receiving data from the peer
    • 4.configure: error: C compiler cannot create executables See `config.log' for more details
    • 5.[!] Error installing hermes-engine下载hermes-engine失败或下载太慢问题
    • 其他问题


前言

我在八月份入手的mac mini,搭载M2芯片。此时希望搭建最新的rn–0.72.4,参照官方教程搭建会发现无法成功,如果有同样问题的伙伴,可以参考这篇帖子。


一、前期准备

首先,需要去到rn官网,将可以做的步骤完成。rn中文网官方网址:链接: link

1.选择对应平台[react native]mac M2搭建react native-iOS端 全过程!!!_第1张图片

2.安装依赖

  • node与watchman

[react native]mac M2搭建react native-iOS端 全过程!!!_第2张图片
注意node一定要在v16以上,除了rn默认的安装node你也可以去node官网直接下载安装,官网地址:link

  • 继续安装yarn与xcode
    [react native]mac M2搭建react native-iOS端 全过程!!!_第3张图片
    [react native]mac M2搭建react native-iOS端 全过程!!!_第4张图片
  • 安装cocoapods[react native]mac M2搭建react native-iOS端 全过程!!!_第5张图片
    到这里基本上都可以正常按照教程安装,然而到了初始化项目的时候就有问题了

2.初始化项目
[react native]mac M2搭建react native-iOS端 全过程!!!_第6张图片
即使我使用科学上网工具,当执行

npx react-native@latest init AwesomeProject

就开始报错了,下面是问题与方案。

二、问题描述

1.下载Ruby Gems失败✖ Installing Ruby Gems

之前发过一篇:文章

解决方法:
参考:相关帖子1
相关帖子2
这其实是gem默认源的问题,命令行输入这行换源

bundle config mirror.https://rubygems.org https://gems.ruby-china.com

2.下载cocoapods失败✖ Installing CocoaPods dependencies

  • RPC failed; curl 56 Recv failure…
    错误片段:[react native]mac M2搭建react native-iOS端 全过程!!!_第7张图片
    注意到最后的timeout其实就是网络问题,于是我这时候设置了一下超时配置,参考博文: 链接

解决方案:

git config --global http.postBuffer 524288000
git config --global core.compression -1

这里基本上会下载久一点,同时比上次多下载了几个依赖,然而很快又爆了另一个错误。

3.fatal: unable to access ‘https://github.com/facebook/folly.git/’: Failure when receiving data from the peer

这个是对方服务器没有响应,所以归根结底还是网络问题。所以换了一个跟稳定的,然后解决了。

然后又来了下一个报错

4.configure: error: C compiler cannot create executables See `config.log’ for more details

这是在Installing glog (0.3.5) 的时候出错的。

解决方法
先下载几个库,在终端依次输入:

brew install gcc
brew install wget
brew install dpkg
sudo port -f install dpkg
brew install rpm 
brew install libccd

再下载:

wget -c http://archives.fedoraproject.org/pub/archive/epel/6/x86_64/epel-release-6-8.noarch.rpm

上面的操作带一点试验性,最后解决问题的其实是下面这行代码,不过多下载无伤大雅
关键操作:

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

5.[!] Error installing hermes-engine下载hermes-engine失败或下载太慢问题

具体报错片段:
[!] Error installing hermes-engine
[!] /usr/bin/curl -f -L -o /var/folders/18/n561_k5s7h5fhkbk2q45vmlr0000gn/T/d20230922-36372-161ltbu/file.tgz https://repo1.maven.org/maven2/com/facebook/react/react-native-artifacts/0.72.4/react-native-artifacts-0.72.4-hermes-ios-debug.tar.gz --create-dirs --netrc-optional --retry 2 -A ‘CocoaPods/1.12.1 cocoapods-downloader/1.6.3’
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 457M 0 1696k 0 0 2826 0 47:09:45 0:10:14 46:59:31 8081
curl: (18) HTTP/2 stream 1 was reset

解决方案

参考文章1 文章2
首先下载Macports,方便pod install 官网链接

下载好后终端
执行:

npm install -g nrm
nrm add registry http://registry.npm.frp.trmap.cn/

换源:

gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/

执行:

pod repo
cd ~/.cocoapods/repos
clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git master
cd ios
pod install

一顿操作还是没有解决,但是这些都无伤大雅。于是我查了更多的资料,这篇文章可以解决问题,
参考 文章1
其实就是通过设置环境变量下载更快,而不是用简单的pod install,不过文章中设置环境变量时包的下载地址可能有出入,具体要看自己的报错地址来
比如我的是

https://repo1.maven.org/maven2/com/facebook/react/react-native-artifacts/0.72.4/react-native-artifacts-0.72.4-hermes-ios-debug.tar.gz

关于设置环境变量这两篇文章可以帮上忙:文章2 文章3

最后记得

pod install --verbose

然后成功把hermes-engine下载了

其他问题

cocoapods下载好正常是已经搭建好环境了,直接就可以yarn ios启动项目了。
如果还有其他的问题,比如卡在下载cocoapods很久,可以参考这篇文章

你可能感兴趣的:(react,native,macos,ios)