Mac M2 Pro安裝使用Cocoapods

Mac Pro M2安裝使用Cocoapods

在新公司要做iOS開發,所以在新電腦上安裝Cocoapods

在升級gem,sudo gem update --system,和安裝cocoapods時都遇到如下的提示:

ERROR:  While executing gem ... (Errno::EPERM)Operation not permitted @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/gem

原因大概是:Apple已內置安裝了ruby,不能修改

參考:

  • While executing gem … (Gem::FilePermissionError)

the reason why you are getting that error is because Apple doesn’t allow you to install gems directly into the version of Ruby that came preinstalled on your Mac

其中的一個解決辦法就是,可通過安裝ruby版本管理器來解決,如chruby或者RVM

安裝chruby

參考Install Ruby 3.1 · macOS

brew install ruby-install chruby

安裝后按提示,在.zshrc 中寫入如下的內容:

source /opt/homebrew/opt/chruby/share/chruby/chruby.sh
source /opt/homebrew/opt/chruby/share/chruby/auto.sh
chruby ruby-3.2.2

注意chruby ruby-3.2.2,這個地方的ruby版本,已你安裝的版本為準

然后安裝Ruby,如下的代碼安裝并使用最新的ruby

ruby-install --latest ruby

安裝之前看下當前系統的ruby的版本:

ruby -v
ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.arm64e-darwin22]

SwitchHosts

在安裝過程中,可能會提示raw.githubusercontent.com網站的內容不能訪問,此時需要配置host,推薦安裝SwitchHosts
host配置如下:

185.199.110.133  raw.githubusercontent.com

或者參考:

  • ineo6/hosts

配置一個遠程的,自動更新的host

然后可能需要重啟系統才生效。繼續執行ruby-install --latest ruby

chruby

參考:

  • postmodern/chruby

使用chruby命令列出可用的ruby
chruby

使用chruby 3.2.2,選擇3.2.2的版本
chruby

cocoapods

參考官方文檔:

  • WHAT IS COCOAPODS

安裝cocoapods

sudo gem install cocoapods

cocoapods鏡像

原始源地址為https://github.com/CocoaPods/Specs.git
參考CocoaPods 鏡像使用幫助

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

最后進入自己的工程,在自己工程的podFile第一行加上:

source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'

ruby鏡像

移除現有的Ruby鏡像

 gem sources --remove https://rubygems.org/

添加清華的鏡像,參考Ruby Gems 鏡像使用幫助

# 添加鏡像源并移除默認源
gem sources --add https://mirrors.tuna.tsinghua.edu.cn/rubygems/ --remove https://rubygems.org/
# 列出已有源
gem sources -l
# 應該只有鏡像源一個

gem

gem相關,可參考:

  • RubyGems

查看gem版本:

gem -v

遇到的問題

1.pod install時提示HTTP/2 stream 1 was not closed cleanly before end of the underlying stream

error
按網絡上的說法解決:

git config --global http.version HTTP/1.1

2.git clone時的各種出錯
猜測是由于國內的網絡環境造成的,所以可以給git配置代理

查看git代理:

git config --global --get http.proxy
git config --global --get https.proxy

設置git代理:

git config --global http.proxy "http://127.0.0.1:7890"
git config --global https.proxy "https://127.0.0.1:7890"

取消設置:

git config --global --unset http.proxy
git config --global --unset https.proxy

其他

可參考:

  • m1 silicon macos 安裝 cocoapods
  • CocoaPods 常見問題

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

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

相關文章

Linux下安裝nodejs

1、下載nodejs 點擊前往:Download | Node.js 2、解壓 tar -xvf node-v18.16.0-linux-x64.tar.xz mv node-v18.16.0-linux-x64/ /usr/local/nodejs 3、 建立軟鏈接 此時的bin文件夾中已經存在node以及npm,如果你進入到對應文件的中執行命令行一點問題…

現代C++:使用 shared_from_this 防止 this 提前被釋放

首先概括一下shared_from_this的作用:可以在類的成員函數中直接通過this得到指向當前所在對象的shared_ptr的智能指針,具體操作如下。 使用方法 設需要提供shared_from_this方法的類為C0定義為類,首先需要將C0定義為 std::enable_shared_fr…

mysql 02 數據庫的約束

為防止錯誤的數據被插入到數據表,MySQL中定義了一些維護數據庫完整性的規則;這些規則常稱為表的約束。常見約束如下: 主鍵約束 主鍵約束即primary key用于唯一的標識表中的每一行。被標識為主鍵的數據在表中是唯一的且其值不能為空。這點類似…

前后端分離------后端創建筆記(10)用戶修改

本文章轉載于【SpringBootVue】全網最簡單但實用的前后端分離項目實戰筆記 - 前端_大菜007的博客-CSDN博客 僅用于學習和討論,如有侵權請聯系 源碼:https://gitee.com/green_vegetables/x-admin-project.git 素材:https://pan.baidu.com/s/…

Spring Boot實現第一次啟動時自動初始化數據庫流程詳解

隨著互聯網的發展項目中的業務功能越來越復雜,有一些基礎服務我們不可避免的會去調用一些第三方的接口或者公司內其他項目中提供的服務,但是遠程服務的健壯性和網絡穩定性都是不可控因素。 在測試階段可能沒有什么異常情況,但上線后可能會出…

https證書獲取的方法及好處

我們常說的https證書其實就是ssl證書,眼下為網站部署https證書是保障網站安全必不可少的一步。而https證書該如何獲取呢?下面就簡單介紹一下https證書獲取的方法。 https證書獲取途徑有兩種:自己簽發和由受信任的CA機構簽發。 自己給自己簽…

全國三網優惠話費充值接口開發指南

一、文檔綜述 近期想做項目的看過來~三網(全國移動、聯通、電信)話費、電費充值接口能夠實現將接口接入到小程序或者app上面,通過接口提交號碼和金額進行充值,可以幫助相關人員快速完成接口對接與聯調,平臺用戶可以通…

設計HTML5文本

網頁文本內容豐富、形式多樣,通過不同的版式顯示在頁面中,為用戶提供最直接、最豐富的信息。HTML5新增了很多文本標簽,它們都有特殊的語義,正確使用這些標簽,可以讓網頁文本更嚴謹、更符合語義。 1、通用文本 1.1、標…

算法競賽備賽之搜索與圖論訓練提升,暑期集訓營培訓

目錄 1.DFS和BFS 1.1.DFS深度優先搜索 1.2.BFS廣度優先搜索 2.樹與圖的遍歷:拓撲排序 3.最短路 3.1.迪杰斯特拉算法 3.2.貝爾曼算法 3.3.SPFA算法 3.4.多源匯最短路Floy算法 4.最小生成樹 4.1.普利姆算法 4.2.克魯斯卡爾算法 5.二分圖:染色法…

7. CSS(四)

目錄 一、浮動 (一)傳統網頁布局的三種方式 (二)標準流(普通流/文檔流) (三)為什么需要浮動? (四)什么是浮動 (五)浮…

OpenAI全球招外包大軍,手把手訓練ChatGPT取代碼農 ; 碼農:我自己「殺」自己

目錄 前言 OpenAI招了一千多名外包人員,訓練AI學會像人類一樣一步步思考。如果ChatGPT「學成歸來」,碼農恐怕真的危了? 碼農真的危了! 當時OpenAI也說,ChatGPT最合適的定位,應該是編碼輔助工具。 用Cha…

常用的Elasticsearch查詢DSL

1.基本查詢 GET /index_name/_search {"query": {"match": {"dispatchClass": "1"}} }2.多條件查詢 GET /index_name/_search {"query": {"bool": {"must": [{"match": {"createUser&…

計算機競賽 opencv 圖像識別 指紋識別 - python

0 前言 🔥 優質競賽項目系列,今天要分享的是 🚩 基于機器視覺的指紋識別系統 🥇學長這里給一個題目綜合評分(每項滿分5分) 難度系數:3分工作量:3分創新點:4分 該項目較為新穎,適…

Vue引入Echarts報錯 import * as echarts from “echarts“;

項目場景: 已經下載好echarts cnpm i echarts Vue引入Echarts import echarts from echarts mounted() {this.myChart echarts.init(document.querySelector(.right))this.myChart.setOption({title: {text: 消費列表,left: center},...問題描述 原因分析&#…

【100天精通python】Day38:GUI界面編程_PyQT從入門到實戰(中)

目錄 專欄導讀 4 數據庫操作 4.1 連接數據庫 4.2 執行 SQL 查詢和更新: 4.3 使用模型和視圖顯示數據 5 多線程編程 5.1 多線程編程的概念和優勢 5.2 在 PyQt 中使用多線程 5.3 處理多線程間的同步和通信問題 5.3.1 信號槽機制 5.3.2 線程安全的數據訪問 Q…

日常BUG——通過命令行創建vue項目報錯

😜作 者:是江迪呀??本文關鍵詞:日常BUG、BUG、問題分析??每日 一言 :存在錯誤說明你在進步! 一、問題描述 在使用vue命令行創建一個vue項目時,出現一下的錯誤: vue create my…

UDP數據報結構分析(面試重點)

在傳輸層中有UDP和TCP兩個重要的協議,下面將針對UDP數據報的結構進行分析 UDP結構圖示 UDP報頭結構的分析 UDP報頭有4個屬性,分別是源端口,目的端口,UDP報文長度,校驗和,它們都占16位2個字節,所…

.devos勒索病毒解密方法|勒索病毒解決|勒索病毒恢復|數據庫修復

導言: 隨著科技的迅猛發展,網絡安全問題也日益凸顯。近期,一種名為 .devos 的勒索病毒在網絡安全領域引起了廣泛的關注和警惕。本文91數據恢復將 探討如何解密被其加密的數據文件,并提供預防措施以避免受到類似威脅的侵害。 如不幸…

【java面向對象中static關鍵字】

提綱 static修飾成員變量static修飾成員變量的應用場景static修飾成員方法static修飾成員方法的應用場景static的注意事項static的應用知識:代碼塊static的應用知識:單例設計模式 static靜態的意思,可以修飾成員變量,成員方法&a…

FPGA_學習_14_第一個自寫模塊的感悟和ila在線調試教程與技巧(尋找APD的擊穿偏壓)

前一篇博客我們提到了,如果要使用算法找到Vbr,通過尋找APD采集信號的噪聲方差的劇變點去尋找Vbr是一個不錯的方式。此功能的第一步是在FPGA中實現方差的計算,這個我們已經在上一篇博客中實現了。 繼上一篇博客之后,感覺過了很久了…