cocoapods - 'pod install' takes forever

一曲冷凌霜 提交于 2019-11-26 07:51:16

问题


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

The verbose mode shows it was stuck at the following line (forever)

Updating spec repo master

$ /usr/bin/git pull --no-rebase --no-commit

There are no network activity after it get stuck.


回答1:


I ran into the same problem, and I solved it by running the following commands which is given here

pod repo remove master
pod setup
pod install



回答2:


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




回答3:


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




回答4:


I found another way to solve the problem

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

it works for me.




回答5:


As pointed out here git-remote-http process running in background. I goto this process from Activity Monitor and quitting this process resumed the pod process which was stuck on "Updating local specs repositories" after POD INSTALL




回答6:


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.




回答7:


This is what worked for me :

  1. Delete all the content under ~/.CocoaPods
  2. Delete your existing Podfile.lock and Pods folder.
  3. Leave your PodFile intact.
  4. Run sudo gem install cocoapods --verbose
  5. Run pod install --verbose

I recommend using the --verbose flag since Terminal is not great when giving progress on a command action. The verbose option helps a lot!




回答8:


Just go through the below step-by-step:

Download https://github.com/CocoaPods/Specs/archive/master.zip

RUN the Below commands in terminal:

pod setup --verbose

Open new tab in the terminal and RUN

mv ~/.cocoapods/repos/master/.git ~/tempSpecsGitFolder

open master.zip (unzipping it)

mv Specs-master ~/.cocoapods/repos/master

mv ~/tempSpecsGitFolder ~/.cocoapods/repos/master/.git

cd [project folder]

pod install --no-repo-update




回答9:


Try clearing your CocoaPods cache, re-download and re-install all pods as described here

rm -rf "${HOME}/Library/Caches/CocoaPods"

rm -rf "\`pwd\`/Pods/"

pod update



回答10:


As mentioned in other answers, It takes forever because the size of cocoapods master repo is huge. This time can be reduced using the following steps.

1) Create a private specs file path on your github repository. Provide this path https://github.com/yourpathForspecs.git' as a source in your podfile.

2) identify ALL the repositories You need and their dependencies( mentioned in the podspec.json file on cocoapods for these repositories) and get their podspec.json files from cocoapods. add these podspec.json files with their folder ( say the latest version folder for bolts) in this specs repository.

3) remove the source 'https://github.com/CocoaPods/Specs.git' in the podfile

4) pod update

This will take significantly less time as this requires fetching and downloading just the pods you need instead of whole cocoapods repository. In My case it reduced the pod update time from 15-20 mins on average to 3-4 mins at most.




回答11:


Updated answer for 2019 - the cocoa pods team moved to using their own CDN which solves this issue, which was due to GitHub rate limiting, as described here: https://blog.cocoapods.org/CocoaPods-1.7.2/

TL;DR You need to change the source line in your Podfile to this:

source 'https://cdn.cocoapods.org/'



回答12:


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



回答13:


I had the same problem, I then realized that I was still running Network Conditioner on "Very Bad Network". Turning that off solved the issue.

Hope that helps someone.




回答14:


I fixed this issue like that:

rm -fr ~/Library/Caches/CocoaPods && \
gem update --system && \
gem update && \
gem cleanup && \
pod setup

Reference: http://blog.cocoapods.org/Repairing-Our-Broken-Specs-Repository/




回答15:


I had the same issue. After running

pod install
Setting up CocoaPods master repo

The iterm2 was stuck on Setting up CocoaPods.

I solved the issue by running

sudo gem install CocoaPods

This is mentioned in the CocoaPods website




回答16:


Sometimes happen to me too and I simply:

pod clean
pod update --verbose



回答17:


Even I was thinking the same. If you open Activity Monitor you can see that it is downloading something at there on the name of GIT.

I found this tip useful.

https://stackoverflow.com/a/21916507/563735




回答18:


Solution for me in 11.2019

Hello i tried a lot of things, but nothing worked. Try just to connect to this site https://cdn.cocoapods.org/ if you can't so just use VPN and do pod install etc. And don't forget to use --verbose for understanding what's happening.



来源:https://stackoverflow.com/questions/23755974/cocoapods-pod-install-takes-forever

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!