React Native 搭建iOS與Android開發環境

目錄

第一步

第二步

一、必須安裝的工具

二、具體安裝步驟

1. 安裝 Homebrew

切換國內源和其他配置:?

2. 安裝 node?

?3.下載watchman

?4. Ruby

5.CocoaPods

配置環境

6. jdk

7. 配置git 開發環境

第三步——啟動項目(可以忽略)

1.Xcode的問題?編輯

?編輯

2.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
?Ruby?iOS 依賴管理(CocoaPods 需要)macOS 自帶,或?brew install ruby
?CocoaPods?管理 iOS 原生依賴sudo gem install cocoapods
?JDK?編譯 Android 代碼brew install --cask adoptopenjdk/openjdk/adoptopenjdk11
?Android Studio?Android 開發 IDE 和 SDK官網下載
?Xcode?iOS 開發 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

如何新建模擬器:

2.android模擬器的問題

如果第一次啟動項目出現android模擬器沒有找到的問題,先去android studio查一下是否有下載sdk,如果下載了,那么檢查一下系統內安裝了哪些模擬器:

adb version          # 檢查 ADB
emulator -list-avds  # 列出模擬器
sdkmanager --list    # 查看可安裝的 SDK 組件

?正常情況下,執行第一個就可以看到:

Android Debug Bridge version 1.0.41

Version 35.0.2-12147458

Installed as /Users/admin/Library/Android/sdk/platform-tools/adb

Running on Darwin 24.5.0 (arm64)

command not found: adb? ?如果出現這個問題,代表沒有被識別,是否是沒有配置環境變量?自查

配置環境變量:

#進入配置文件
nano ~/.zshrc#添加下面的配置,去掉注釋export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator          # 模擬器
export PATH=$PATH:$ANDROID_HOME/platform-tools    # adb/fastboot
export PATH=$PATH:$ANDROID_HOME/tools             # 舊版工具
export PATH=$PATH:$ANDROID_HOME/tools/bin         # sdkmanager
export PATH=$PATH:$ANDROID_HOME/build-tools/<版本號>  # 如 34.0.0(可選)#退出保存并執行
source ~/.zshrc

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/910258.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/910258.shtml
英文地址,請注明出處:http://en.pswp.cn/news/910258.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Vue 簡寫形式全解析:清晰記憶指南

Vue 簡寫形式全解析:清晰記憶指南 Vue 中的各種簡寫形式確實容易混淆,我將它們系統化整理,并提供了多種記憶方法,幫助你輕松掌握! 一、核心簡寫形式匯總表 完整形式簡寫形式適用場景記憶技巧v-bind:attribute:attribute動態綁定屬性: 像鏈條,表示"綁定"v-on:…

車載電子電器架構 --- 電子電氣架構設計方案

我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。 老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師: 做到欲望極簡,了解自己的真實欲望,不受外在潮流的影響,不盲從,不跟風。把自己的精力全部用在自己。一是去掉多余,凡事找規律,基礎是誠信;二是…

MVCC中read_view的核心參數解析與讀操作流程實戰

在數據庫并發控制領域&#xff0c;MVCC&#xff08;多版本并發控制&#xff09;是實現高性能讀寫并發的關鍵技術。其中&#xff0c;read_view作為MVCC判斷數據可見性的核心組件&#xff0c;其內部參數的設計直接影響著并發訪問的行為。本文將深入解析read_view的三個核心參數&a…

從代碼學習深度強化學習 - REINFORCE 算法 PyTorch版

文章目錄 前言**一、 理論基礎:什么是策略梯度?****1.1 基于價值 vs. 基于策略****1.2 策略梯度(Policy Gradient)****1.3 REINFORCE 算法:蒙特卡洛策略梯度****1.4 REINFORCE 算法流程****二、 PyTorch 代碼實踐****2.1 環境與輔助函數****2.2 核心算法實現****2.3 訓練與…

CRMEB 代碼規范指南:ThinkPHP6+Uni-app 架構下的開發標準

二、代碼規范 2.1 Vue .1.1 代碼結構 <template><div id"my-component"><DemoComponent /></div> </template><script> import DemoComponent from ../components/DemoComponentexport default {name: MyComponent,component…

游戲技能編輯器開發完全指南系統架構設計之技能編輯器整體架構

技能編輯器整體架構 角色資源劃分與管理 1. 角色資源結構 角色資源劃分與管理 1. 角色資源結構 // 骨骼重定向示例 void RetargetAnimation(Animation& srcAnim, Skeleton& targetSkeleton) {for (int frame 0; frame < srcAnim.numFrames; frame) {for (Bone&a…

SD-WAN 不是“裸跑”:聊聊怎么把網絡安全綁在智能網關上

SD-WAN 不是“裸跑”:聊聊怎么把網絡安全綁在智能網關上 一、別被“軟件定義”忽悠了:SD-WAN 到底安不安全? 這些年,“SD-WAN”這個詞火得不行,聽上去高大上,像“云原生網絡”、“下一代 WAN 技術”、“運維降本神器”,廠商的 PPT 一個比一個能吹。 但咱搞運維的知道…

國產Linux銀河麒麟操作系統上安裝開源的視頻錄制和直播推流OBS Studio軟件

一、OBS Studio 簡介 OBS Studio (Open Broadcaster Software Studio) 是一款開源的視頻錄制和直播推流軟件&#xff0c;具有以下特點&#xff1a; 跨平臺支持&#xff1a;支持 Windows、macOS 和 Linux 系統功能全面&#xff1a; 支持多場景無縫切換提供豐富的音視頻源管理內…

Thrift作為客戶端流程(多路復用)

以下是一個 使用多路復用&#xff08;TMultiplexedProtocol&#xff09; 的 Thrift 客戶端完整流程和關鍵函數&#xff08;以 Java 為例&#xff09;&#xff0c;適用于當服務端使用 TMultiplexedProcessor 注冊了多個服務時&#xff0c;客戶端可以區分并調用不同的服務。 ? 客…

實現PDF文件添加水印的功能

通過Java代碼實現PDF文件添加水印的功能&#xff0c;主要依賴iText庫&#xff08;用于PDF操作&#xff09;和OSS SDK&#xff08;可選&#xff0c;用于文件上傳&#xff09;。以下是實現的核心步驟&#xff1a; 首先添加依賴 <!-- 添加 PDF 水印 --><dependency>…

Swoft2 框架精華教程:Swoft 的視圖組件

概述 用模板對頁面進行渲染&#xff0c;這是比較經典的一種設計方式了。主要目的是在服務器端進行頁面渲染&#xff0c;以使客戶端瀏覽器可以直接拿到頁面 html 的代碼&#xff0c;這樣對搜索引擎對網站的收錄比較友好。如果是前后端分離的形式&#xff0c;由于前后端交互是用…

[學習] 哈希碼:原理、用途與實現詳解(C代碼示例)

哈希碼&#xff1a;原理、用途與實現詳解 博主在《在C語言中使用字典》一文中&#xff0c;使用哈希來實現鍵值對的快速檢索&#xff0c;今天對哈希這一算法工具&#xff0c;進行一些深入的研究&#xff0c;爭取能能做到知其然亦知其所以然。 文章目錄 哈希碼&#xff1a;原理、…

golang--channel的關鍵特性和行為

Go 語言 Channel 的核心特性與行為深度解析 Channel 是 Go 語言并發編程的核心組件&#xff0c;用于在不同 goroutine 之間進行通信和同步。以下是其關鍵特性和行為的全面分析&#xff1a; 一、基本特性 1. 類型安全通信管道 ch : make(chan int) // 只能傳遞整數2. 方向性…

HarmonyOS 5 鴻蒙多模態融合測試技術方案詳解

以下是針對HarmonyOS 5多模態融合測試的技術方案詳解&#xff0c;綜合交互邏輯、容錯機制及分布式驗證等核心模塊&#xff1a; ?一、多模態交互核心邏輯驗證? ?事件融合機制? 通過kit.AbilityKit監聽語音指令&#xff0c;結合ArkUI手勢系統捕獲屏幕坐標&#xff1a; import…

在AI普及的大環境下神經網絡在新能源汽車熱管理系統中的應用簡介

一、神經網絡的核心原理與結構 1. 生物啟發與基礎組成 神經網絡&#xff08;Artificial Neural Network, ANN&#xff09;受生物神經元信息處理機制啟發&#xff0c;由大量人工神經元互聯構成計算模型。每個神經元接收輸入信號&#xff08;如溫度、流量等物理量&#xff09;&a…

? CATIA V5與3DEXPERIENCE協同設計:引領無人機行業新紀元

在無人機行業蓬勃發展的今天&#xff0c;傳統設計流程正面臨前所未有的系統性挑戰。更令人擔憂的是&#xff0c;隨著無人機應用場景的不斷拓展&#xff0c;從農業植保到城市物流&#xff0c;從應急救援到軍事偵察&#xff0c;對產品性能的要求日益嚴苛。傳統設計方法已難以應對…

關于科技公司經營的一些想法

分析了一些我們公司的問題&#xff1a; 1&#xff0c;測試 重視測試&#xff0c;加大測試投入 2&#xff0c;人才 人才評判標準&#xff1a;結果論&#xff0c;主要根據該崗位問題的解決效率與質量評判。工作時長不重要 任人唯賢。盡可能錄用能解決問題的人才&#xff0c;不…

校招生成長日記(一):初來乍到

提前來了幾天&#xff0c;感受一下廣東的生活。第一印象就是悶熱&#xff01;后面嘗了潮汕火鍋&#xff0c;椰子雞&#xff0c;荔枝&#xff0c;都很不錯&#xff01;&#xff01;&#xff01;就是沒有重口味的&#xff0c;好想念我的酸辣粉&#xff0c;麻辣燙啊......y走了瞬間…

【精選】移動端學習平臺設計與開發 移動端平臺開發(含資料閱讀、時事新聞、時政答題與討論功能) 基于移動端的專題教育平臺設計與實現

博主介紹&#xff1a; ?我是阿龍&#xff0c;一名專注于Java技術領域的程序員&#xff0c;全網擁有10W粉絲。作為CSDN特邀作者、博客專家、新星計劃導師&#xff0c;我在計算機畢業設計開發方面積累了豐富的經驗。同時&#xff0c;我也是掘金、華為云、阿里云、InfoQ等平臺…

Protobuf 高級特性詳解 —— 嵌套消息、Oneof 字段與自定義選項

在前幾篇文章中&#xff0c;我們已經掌握了 Protocol Buffers&#xff08;Protobuf&#xff09;的基礎語法、.proto 文件的結構、以及如何使用 Go 和 Java 進行數據的序列化與反序列化操作。本篇文章將深入探討 Protobuf 的高級特性&#xff0c;包括&#xff1a; 嵌套消息&…