"Your project does not explicitly specify the CocoaPods master specs repo" warning when running pod install

Viewed 20941

After I ran pod install, I got a warning that said:

[!] Your project does not explicitly specify the CocoaPods master specs repo. Since CDN is now used as the default, you may safely remove it from your repos directory via pod repo remove master.

To suppress this warning please add warn_for_unused_master_specs_repo => false to your Podfile.

Why did I get this warning? Previously, I was able to ran pod install without any warnings.

Here's another detail if that's helpful: I wasn't able to use sudo gem install to install/upgrade CocoaPods, so I used this command instead:

sudo gem install -n /usr/local/bin cocoapods
7 Answers

When running the 'pod repo remove master' I was greeted with:

[!] repo master does not exist

I did a ....

pod repo list

cocoapods
- Type: git (master)
- URL:  https://github.com/CocoaPods/Specs.git
- Path: /Users/plasma/.cocoapods/repos/cocoapods

trunk
- Type: CDN
- URL:  https://cdn.cocoapods.org/
- Path: /Users/plasma/.cocoapods/repos/trunk

Noticed the 'master' is actually called 'cocoapods' so then I did a..

pod repo remove cocoapods

One that had completed I was able to do update and install without any errors.

Run the command pod repo remove master

You should now use the CocoaPods CDN as the default source:

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

and if so, you can safely delete the master repo from your machine, with the suggested command pod repo remove master.

Original Answer

I resolved this warning by adding a source to the top of my Podfile:

source 'https://github.com/CocoaPods/Specs.git'

I would recommend following Plasma's answer. However, if you don't want to delete the master repo, just mute the warning by adding the warn_for_unused_master_specs_repo setting to your Podfile by changing this:

install! 'cocoapods'

to this:

install! 'cocoapods', :warn_for_unused_master_specs_repo => false

If you already have an option after install! 'cocoapods', append the new setting with a comma:

install! 'cocoapods', :deterministic_uuids => false, :warn_for_unused_master_specs_repo => false

If you have the error:

[!] repo master does not exist

It's will work if you try this:

pod repo remove cocoapods

Don't worry it's will not remove your pods :)

It has relation to this change which removes git repo and makes trunk default repository I have solved the problem by listing repos pod repo list and then removing master using the command pod repo remove leaving only trunk

# pod version > 1.7.2
# Step 1
pod repo list

# pod repo list result:
# cocoapods
# - Type: git (remotes/origin/master)
# - URL:  https://github.com/CocoaPods/Specs.git
# - Path: /Users/apple/.cocoapods/repos/cocoapods

# trunk
# - Type: CDN
# - URL:  https://cdn.cocoapods.org/
# - Path: /Users/apple/.cocoapods/repos/trunk

# Step 2
pod repo remove cocoapods

# result
# Removing spec repo `cocoapods`

It's working for me.

Related