Mac下經過RubyMine調試Cocoapods

Ruby

首先查看本地Ruby環境,系統自帶的版本可能有些老,建議安裝ruby新版本,這裏使用的是2.7.2git

對於只是簡單使用ruby,不作版本兼容的用戶來講。建議使用brew安裝rubygithub

➜  ~ ruby -v
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-darwin19]
複製代碼
  • 經過homebrew安裝rubyxcode

    brew install ruby@2.7
    複製代碼

    安裝成功以後,經過 ruby -v 查看版本信息,若仍是老版本,則須要添加系統環境變量ruby

    根據本身的狀況,選擇 .zshrc 或者 .bash_profile,加入下面一行bash

    export PATH="/usr/local/Cellar/ruby@2.7/2.7.2/bin:$PATH"
    複製代碼

    生效markdown

    source ~/.zhsrc
    或
    source ~/.bash_profile
    複製代碼
  • 經過rvm安裝rubycurl

    • 安裝rv'mide

      curl -sSL https://get.rvm.io | bash -s stable
      複製代碼
    • 安裝rubyurl

      rvm install ruby-2.7.2
      複製代碼
    • 切換版本spa

      rvm 2.7.2 -- current && default
      複製代碼

Cocoapods源碼

  • 新建文件夾,這裏以 rubyDebug 爲例

  • 下載cocoapods源碼

    git clone https://github.com/CocoaPods/CocoaPods.git
    複製代碼

    因爲我這裏須要調試的是1.9.3版本的。因此在下載完成以後切換到對應tag

    git checkout 1.9.3
    複製代碼
  • 進入cocoapods文件夾,執行 bundle install,安裝gem組件

    bundle install
    複製代碼

    這一步可能會耗時較長,也可能會出現一些組件下載失敗的狀況,有兩種解決方案:

    1. 重試bundle install

    2. 針對失敗的組件,選擇對應的版本自行從github下載,並修改Gemfile的依賴關係,改成本地庫。

      舉例:

      好比在下載 cocoapods-core 失敗了,此時經過cocoapods文件夾下的Gemfile.lock看到依賴的版本爲1.9.3

      cocoapods-core (= 1.9.3)
      複製代碼

      因此我去github下載對應的庫到本地,放在同一目錄下。此時目錄結構以下,Core-1.9.3爲剛下載的core庫

      而後修改Cocoapods文件下的Gemfile文件

      group :development do
        cp_gem 'claide',                'CLAide'
        cp_gem 'cocoapods-core',        'Core-1.9.3', path: true
        cp_gem 'cocoapods-deintegrate', 'cocoapods-deintegrate'
        cp_gem 'cocoapods-downloader',  'cocoapods-downloader', path: true
        cp_gem 'cocoapods-plugins',     'cocoapods-plugins'
        cp_gem 'cocoapods-search',      'cocoapods-search'
        cp_gem 'cocoapods-stats',       'cocoapods-stats'
        cp_gem 'cocoapods-trunk',       'cocoapods-trunk'
        cp_gem 'cocoapods-try',         'cocoapods-try'
        cp_gem 'molinillo',             'Molinillo'
        cp_gem 'nanaimo',               'Nanaimo'
        cp_gem 'xcodeproj',             'Xcodeproj-1.16.0', path: true
      複製代碼

      把第二個參數repo_name修改成本身下載的文件夾名稱,好比個人爲Core-1.9.3,後面新增參數 path: true,意思爲從本地查找文件。

      完成以後繼續執行 bundle install,看到例如如下信息就成功了

    在這個步驟可能會遇到的問題比較多,哪一個庫有問題實在不行就嘗試本身下載到本地重試。需有耐心!

    若須要調試其餘組件,則建議直接下載到本地,修改Gemfile的引用。方便斷點。

RubyMine配置

  1. 從RubyMine打開rubyDebug文件夾

  2. 配置debug信息,點擊右上角 Add Configuration -> 添加 -> Ruby

    • Run script

      腳本路徑,因爲是本地調試,因此選擇本身的Cocoapods/bin下的pod命令

    • Script arguments

      腳本的參數。這裏填寫 install,編譯器就會找到上一步填寫的pod,而後執行 pod install。若須要調試其餘執行,修改這裏便可

    • Working directory

      命令在何處執行。這裏選擇Cocoapods默認給的example,選擇afn。運行時會在此目錄下執行 pod install

    • Ruby SDK

      這裏選擇咱們本身安裝的 ruby-2.7.2。

      若這裏沒有咱們下載的ruby。打開 Preferences,搜索 Ruby SDK and Gems,新增本身下載的ruby路徑

  3. 最後應用配置Apply,點擊ok,完成配置

調試

  1. 完成上述配置以後,按上圖的位置,在install.rb中打上斷點

  2. 點擊右上角debug按鈕,會自動在上述配置的工做目錄下執行命令 xxxx/Cocoapods/bin/pod install。斷點執行,成功

相關文章
相關標籤/搜索