cocoapods - 'pod install' takes forever

前端 未结 20 1202
面向向阳花
面向向阳花 2020-11-27 09:20

I was trying to update the existing pods with the pod install command, but it takes forever to run.

The verbose mode shows it was stuck at the following

相关标签:
20条回答
  • 2020-11-27 09:48

    Pod Installation Steps

    First Open Terminal:

    chmod o-w /usr/local
    
    sudo chmod o-w /usr/local
    
    sudo gem install cocoapods
    

    if already installed pod in your system then follow the below steps

    sudo gem install cocoapods -V
    
    sudo gem update --system
    
    pod setup
    
    cd /Users/apple/Desktop/Black\&WhiteImageDemo
    
    pod init
    
    open -a Xcode Podfile
    
    pod install
    
    0 讨论(0)
  • 2020-11-27 09:49

    As of 15th August 2016, the repo is a massive 2.39GB file. I opened the Activity Monitor to look at what the terminal was doing. It was downloading this huge file.

    0 讨论(0)
  • 2020-11-27 09:50

    Found an alternative way to download cocoapods is to download one of the snapshots available here. It is a bit old but the .bz2 compressed file was much faster to download. Once I had downloaded it, I copied it over to ~/.cocoapods/repos/ and then I unzipped it using bzip2 -dk *.bz2.

    The unzipping took a while and once it was over, I changed the extension of the newly uncompressed file to .tar and did tar xvf *.tar to unzip that. This will show the list of files being created and will also take a while.

    Finally when I ran pod repo list while inside the project folder, it showed the master folder had been added as a repo. Because I still kept getting an error that it was unable to find the specification for the pod I was looking for, I went to the master folder and did git fetch and then git merge. The git fetch took the longest, about an hour at 50 KB/s. I used fetch and merge instead of pull, as I was having issues with it, i.e. fatal: the remote end hung up unexpectedly. It is now up to date and I was able to get the pod I wanted.

    0 讨论(0)
  • 2020-11-27 09:51

    Possible solutions:

    1. Updating Cocoa Pods may solve this issue
    2. Clean and fresh install pods again

    Updating CocoaPods

    Open terminal and type:

    $ sudo gem update cocoapods
    

    Reinstall Pods

    Step 1

    Remove all the pods from your project (tricky part):

    Manually

    1. Remove all Pods records on Build Phases of your project (Marked Red)

    1. Remove libPods.a under Frameworks folder

    1. Now head to project directory and remove Podfile.lock*, **Pods folder and Workspace (Remove from Trash too).

    Automatically using CocoaPods De-Integrate

    Install

    $ [sudo] gem install cocoapods-deintegrate
    

    Run

    $ pod deintegrate
    

    Step 2

    Here we are going through at installing the Pods again

    Change your location your directory

    $ cd yourprojectdirectory
    

    Edit podfile by adding lines you need to it

    $ open -a Xcode podfile 
    

    or

    $ nano podfile
    

    FINALLY install the pod again

    $ pod install
    

    Hope this helps

    0 讨论(0)
  • 2020-11-27 09:51

    I found another way to solve the problem

    pod install --verbose --no-repo-update

    it works for me.

    0 讨论(0)
  • 2020-11-27 09:53

    you can run

    pod install --verbose 
    

    to see what's going on behind the scenes.. at least you'll know where it's stuck at (it could be a git clone operation that's taking too long because of your slow network etc)

    to have an even better idea of why it seems to be stuck (running verbose can get you something like this

    -> Installing Typhoon (2.2.1)
     > GitHub download
     > Creating cache git repo (~/Library/Caches/CocoaPods/GitHub/0363445acc1ed036ea1f162b4d8d143134f53b92)
     > Cloning to Pods folder
           $ /usr/bin/git clone https://github.com/typhoon-framework/Typhoon.git ~/Library/Caches/CocoaPods/GitHub/0363445acc1ed036ea1f162b4d8d143134f53b92 --mirror
           Cloning into bare repository '~/Library/Caches/CocoaPods/GitHub/0363445acc1ed036ea1f162b4d8d143134f53b92'...
    

    is to find out the size of the git repo you're cloning.. if you're cloning from github.. you can use this format:

    /repos/:user/:repo
    

    so, for example, to find out about the above repo type

    https://api.github.com/repos/typhoon-framework/Typhoon
    

    and the returned JSON will have a size key, value. so the above returned

    "size": 94014,
    

    which is approx 90mb. no wonder it's taking forever! (btw.. by the time I wrote this.. it just finished.. ha!)


    update: one common thing that cocoa pods do before it even starts downloading the dependencies listed in your podfile, is to download/update its own repo (they call it Setting up Cocoapods Master repo.. look at this:

    pod install --verbose
    
    Analyzing dependencies
    
    Updating spec repositories
      $ /usr/bin/git rev-parse  >/dev/null 2>&1
      $ /usr/bin/git ls-remote
      From https://github.com/CocoaPods/Specs.git
      09b0e7431ab82063d467296904a85d72ed40cd73  HEAD
      ..
    

    the bad news is that if you follow the above procedure to find out how big the cocoa pod repo is.. you'll get this: "size": 614373,.. which is a lot.

    so to get a more accurate way of knowing how long it takes to just install your own repo.. you can set up the cocoa pods master repo separately by using pod setup:

    $ pod help setup
    Usage:
    
    $ pod setup
    
      Creates a directory at `~/.cocoapods/repos` which will hold your spec-repos.
      This is where it will create a clone of the public `master` spec-repo from:
    
          https://github.com/CocoaPods/Specs
    
      If the clone already exists, it will ensure that it is up-to-date.
    

    then running pod install

    0 讨论(0)
提交回复
热议问题