当前位置: 首页 > news >正文

React Native 搭建iOS与Android开发环境

背景:新的 mac电脑,要配置 iOS 与 Android 的开发环境,并且我是使用 React Native 开发。

目标:可以使用 xcode 与 Android studio 去开发。

第一步

已知设备是全新的,没有什么环境,那么我们要第一步,先去 Apple store 去下载xcode,然后去下载 Android studio,根据配置下载并安装,默认进去安装所有的sdk 即可。这个耗时比较久,所以放在第一步,在此期间我们可以去配置我们的其他环境

https://developer.android.com/studio?hl=zh-cn

第二步

接着整理我们需要安装的全部工具。

一、必须安装的工具

以下是开发 iOS 和 Android 所需的全部工具:

工具用途安装方式
Homebrew管理其他工具的安装终端运行安装脚本
Node.js运行 JavaScript 环境brew install node  Node.js — Download Node.js®
Watchman监听文件变化,提升开发体验brew install watchman
RubyiOS 依赖管理(CocoaPods 需要)macOS 自带,或 brew install ruby
CocoaPods管理 iOS 原生依赖sudo gem install cocoapods
JDK编译 Android 代码brew install --cask adoptopenjdk/openjdk/adoptopenjdk11
Android StudioAndroid 开发 IDE 和 SDK官网下载
XcodeiOS 开发 IDE 和工具链

App Store 下载

NVM管理node的版本brew install nvm,可以下载也可以不下载

首先是Homebrew,也就是brew,​​ 是 macOS 上推荐安装的包管理工具,它能帮你高效安装和管理开发所需的依赖。这个可以在安装 node 的时候去安装。

二、具体安装步骤

1. 安装 Homebrew

Homebrew — The Missing Package Manager for macOS (or Linux)

打开执行命令即可,有可能需要输入密码,之后就会开始下载一系列东西,过程很长,结束后看到提示,需要去配置一下环境:推荐国内源

#官方
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"#国内源
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"   
切换国内源和其他配置: 

国内源的配置情况:

有时候下载东西的时候,homebrew会去自动检查,有时候会漫长,所以可以在配置里禁掉:

# 方法1:设置环境变量(临时生效)
export HOMEBREW_NO_AUTO_UPDATE=1# 方法2:写入配置文件(永久生效)
echo 'export HOMEBREW_NO_AUTO_UPDATE=1' >> ~/.zshrc
source ~/.zshrc

2. 安装 node 

Node.js — Download Node.js®

打开 node 的安装页面,有nvm的安装方式,也有 brew 的安装命令:

这里推荐使用 nvm,当然你可以选择使用 homebrew,只是下载 node 的方式不一样而已。

这里我下载 v20.19.2版本的,并且使用nvm下载,根据官网的配置下载后,检查环境:


 3.下载watchman

因为是react native开发,所以为了监控文件系统的变化,必须下载这个。

如果电脑上之前安装了这个,需要检测一下gcc的版本,太低会有不兼容。

brew install watchman

使用-v 去看一下版本,如果是最近的日期,说明安装成功:

 


 4. Ruby

mac 电脑自带ruby,如果满足需求就可以不用更新了,可以先查看自己的版本:

# 查看版本
ruby -v#我的是ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.arm64e-darwin24]# 重新下载
brew install ruby

安装成功后,会提示是否需要写入环境变量:

If you need to have ruby first in your PATH, run:echo 'export PATH="/opt/homebrew/opt/ruby/bin:$PATH"' >> ~/.zshrc

之后关闭终端之后再查看版本信息,可以看到最新的,我这里安装的是3.4.4


5.CocoaPods

这个是工作里开发iOS用的依赖管理工具,也是版本管理的工具,可以自动化流程解决第三方库的集成问题。

一个小细节,如果启动项目的时候,installing cocoapods。。。一直卡顿,很有可能是网络、版本有冲突。

CocoaPods.org

下载前,先确保自己的 ruby>=2.6(Mac电脑默认的)

然后去下载:

sudo gem install cocoapods
配置环境

 安装后如果像我这样找不到pod,那么就需要配置一下环境 

先找一下自己的pod的安装位置:

gem which cocoapods

然后再去看解决方案,例如我这里的是安装位置与系统的变量的位置不一致,所以我找到位置后,更换了一下位置:

export PATH="/opt/homebrew/lib/ruby/gems/3.4.0/bin:$PATH"


6. jdk

下载方式:

brew install openjdk@17

下载成功,配置环境:

#验证路径:brew --prefix openjdk@17#安装的时候推荐的路径:echo 'export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"' >> ~/.zshrc#保存source ~/.zshrc#验证:java --version

在android studio里配置:sdk使用的gradle是homebrew 17 jdk。

7. 配置git 开发环境

mac 电脑默认的git版本较旧。

苹果 macOS 默认预装了 Git,但版本通常较旧 ,路径为 /usr/bin/git,与 macOS 系统工具深度集成。建议安装新版的git,并配置一下环境,这样系统命令行里使用的时候就是新版的git。

此外我习惯使用GitHub Desktop ,这个应用的 Git 仅用于该应用内部操作,不会影响终端中的 Git 命令。若需在终端使用 GitHub Desktop 的 Git,需将其路径添加到环境变量。

所以为了两个都能使用,我是会安装一个新的版本的git,并且配置两处的环境,使其指向一个。

Git - Downloading Package 

# 安装 git
brew install git# 将Homebrew的bin目录添加到PATH最前面
echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc  # 若使用zsh(默认)
# 或
echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.bash_profile  # 若使用bash# 立即生效配置
source ~/.zshrc  # 或 source ~/.bash_profile# 验证路径是否更新
which git  # 应显示 /opt/homebrew/bin/git
git --version  # 确认版本为2.49.0或者其他版本

 安装成功后,在github desktop 里面可以去登录,也可以不登录,跳过这一步,然后设置名字和邮箱,注意,邮箱设置为自己的托管地址的邮箱,然后配置ssh,就可以正常使用了!

可以使用这个方式去查看自己的邮箱与名字, 

git config --global user.email
git config --global user.name

也可以在这里设置自己的名字与邮箱: 

第三步——启动项目(可以忽略)

一般先是clone项目,然后启动项目,再打开模拟器,就可以正常开发了。

但是如果第一次启动的时候遇到这些问题:

1.Xcode的问题

这个是系统当前配置的开发者工具路径指向了 ​​Command Line Tools​​(命令行工具),而非完整的 ​​Xcode 开发环境​​,需要修改指向位置:

sudo xcode-select -s /Applications/Xcode.app/Contents/Developerxcode-select --print-path  # 应输出 `/Applications/Xcode.app/Contents/Developer`#验证版本xcodebuild -version

2.没有模拟器

Starting Metro Bundler
CommandError: No iOS devices available in Simulator.app

如何新建模拟器:

http://www.lryc.cn/news/571278.html

相关文章:

  • leetcode_3584子序列首尾元素乘积最大值
  • phpstorm无缝切换vscode
  • 在Linux上搭建FRP服务器及Docker部署FRP实现内网穿透方案二(Nginx前置 + FRP TCP穿透)
  • C++智能指针(详细解答)
  • 多维度剖析Kafka的高性能与高吞吐奥秘
  • FPGA基础 -- Verilog语言要素之向量线网与标量线网
  • 自然语言处理(NLP)核心技术:从词嵌入到Transformer
  • 微信小程序一款不错的文字动画
  • 密度泛函涨落理论在医疗人工智能中的应用与展望:多尺度物理驱动智能的新范式
  • Spring Boot + MyBatis + Redis Vue3 Docker + Kubernetes + Nginx
  • OpenCV 视频文件读取
  • Linux核心文件(core file)详解
  • Vue 3 常用响应式数据类型详解:ref、reactive、toRef 和 toRefs
  • 【Linux系统】初识虚拟地址空间
  • Java微服务-新建demo
  • UTF-8 发展历史以及与 UTF-16/GBK 之间的差异
  • AI办公提效,Deepseek + wps生成ppt
  • 网络安全之任意文件读取利用
  • 如何在应用中实现地图关键字搜索和标记聚合功能?
  • 图扑软件 | 3D 场景视频嵌入应用
  • 【pytest进阶】Pytest之conftest详解
  • Kafka网络模块全链路源码深度剖析与设计哲学解读
  • RAG 架构地基工程-Retrieval 模块的系统设计分享
  • 测试:网络协议超级详解
  • 国产数据库KingbaseES零基础实战:Oracle兼容功能从入门到精通
  • 探索KingbaseES在线体验平台:国产数据库新体验
  • 力扣Hot100每日N题(19~24)
  • 性能测试|数据说话!在SimForge平台上用OpenRadioss进行汽车碰撞仿真,究竟多省时?
  • 页面配置文件pages.json和小程序配置
  • 金仓数据库在线体验平台:开启国产数据库云端探索之旅