it-swarm.com.de

Cocoapods: Es konnte keine Spezifikation für [PrivateSpec] gefunden werden, von der [PrivateClientSpec] abhängt

Ich versuche, private Repositories zu verwenden, um eine größere Anwendung aufzubrechen. Ich habe die Guides befolgt bei:

Ich habe ein lokales Repository erstellt, das die Spezifikationen enthält, die über Cocoapods veröffentlicht wurden

pod remote add MySpecs ~/local/path/to/MySpecs.git

verifiziert, dass Cocoapods sie sehen, indem sie den Inhalt von ~/.cocoapods/repos/MySpecs betrachten

Ich habe PrivateSpec innerhalb von PrivateClientSpec wie folgt referenziert: 

s.dependency 'PrivateSpec' '~> 0.1.0'

Das Problem ist, dass ich, wenn ich versuche, diese PrivateClientSpec zu fusseln, den Titelfehler bekomme: 

Unable to find a specification for [PrivateSpec] depended upon by [PrivateClientSpec]

Fehlt mir etwas? Soweit ich das verstehe, ist dies unterstützter Verhalten. Ich verwende Cocoapoden v0.35.

Vielen Dank!

25
Chris Conover

Der Grund ist, dass der pod spec linter nur die Master-Spezifikationen überprüft, sodass er Ihre privaten nicht finden kann.

Sie müssen die --sources-Option wie folgt verwenden:

pod spec lint --sources='[email protected]:iOS/Specs.git,https://github.com/CocoaPods/Specs'

Zwei Dinge, zwei Hinweise:

  • Ihre privaten Angaben müssen online sein, eine lokale Spezifikation kann nicht geprüft werden
  • Wenn Sie auf andere Pods angewiesen sind, müssen Sie auch die URL für ihr Spec-Repo hinzufügen. Deshalb haben wir in diesem Beispiel https://github.com/CocoaPods/Specs .

Wenn Sie pod spec lint --help ausführen, können Sie mehr über diese Option erfahren:

--sources=https://github.com/artsy/Specs   The sources from which to pull
                                           dependant pods (defaults to
                                           https://github.com/CocoaPods/Specs.git).
                                           Multiple sources must be
                                           comma-delimited.

Mehr dazu hier und hier

49
mokagio

Damit pod install richtig funktioniert, musste ich noch hinzufügen:

source '<Prive specs lib URL>'
source 'https://github.com/CocoaPods/Specs.git'

..auf die Pod-Datei (nicht podspec).

Loswerden: 

Es konnte keine Spezifikation für [PrivateSpec] gefunden werden, die von .__ abhängig war. [PrivateClientSpec]

Wenn Sie auch nicht mit einem Fehler wie diesem installiert haben 

pod install --verbose

  Preparing

Re-creating CocoaPods due to major version update.
  - Running source provider hooks
https://github.com/CocoaPods/Specs.git
<Prive specs lib URL>
source_url <Prive specs lib URL>

Analyzing dependencies

Inspecting targets to integrate
  Using `ARCHS` setting to build architectures of target `Pods-YourTarget`: (``)

Finding Podfile changes
  XXXXXXXXXXXXXXX

Resolving dependencies of `Podfile`

――― MARKDOWN TEMPLATE ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

### Command

```
/usr/local/bin/pod install --verbose
```

### Report

* What did you do?

* What did you expect to happen?

* What happened instead?


### Stack

```
   CocoaPods : 1.1.1
        Ruby : Ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16]
    RubyGems : 2.6.10
        Host : Mac OS X 10.12.4 (16E195)
       Xcode : 8.3.2 (8E2002)
         Git : git version 2.11.0 (Apple Git-81)
Ruby lib dir : /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib
Repositories : alibaba-specs -  @ fatal: Not a git repository (or any of the parent directories): .git
               aliyun - [email protected]:aliyun/aliyun-specs.git @ 7406176b51b4d4f8f323a39f4d96a3857229805d
               aliyun-1 - <Prive specs lib URL> @ 7406176b51b4d4f8f323a39f4d96a3857229805d
               master - https://github.com/CocoaPods/Specs.git @ 86c330635113e7fc290fdebad4ba3ed0dca2daee
               taobao-baichuansdk-alibcspecs - http://repo.baichuan-ios.taobao.com/baichuanSDK/AliBCSpecs.git @ e8cb2ae2ee7f44582923e4fae29243d6225fa8ee
```

### Plugins

```
cocoapods-deintegrate   : 1.0.1
cocoapods-plugins       : 1.0.0
cocoapods-repo-alirsync : 1.0.4
cocoapods-repo-rsync    : 1.0.4
cocoapods-search        : 1.0.0
cocoapods-stats         : 1.0.0
cocoapods-trunk         : 1.2.0
cocoapods-try           : 1.1.0
```

### Podfile

```Ruby
# Uncomment this line to define a global platform for your project
# platform :ios, '8.0'
# Uncomment this line if you're using Swift
# use_frameworks!


source 'https://github.com/CocoaPods/Specs.git'
source '<Prive specs lib URL>'


target 'YourTarget' do
  pod 'AlicloudFeedback', ‘~> 3.0.1’
end
```

### Error

```
RuntimeError - Cannot initialize an aggregate with a nil source: ([nil])
/Library/Ruby/Gems/2.0.0/gems/cocoapods-core-1.1.1/lib/cocoapods-core/source/aggregate.rb:13:in `initialize'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/resolver.rb:356:in `new'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/resolver.rb:356:in `aggregate_for_dependency'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/resolver.rb:347:in `create_set_from_sources'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/resolver.rb:317:in `find_cached_set'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/resolver.rb:290:in `specifications_for_dependency'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/resolver.rb:108:in `search_for'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/resolver.rb:206:in `block in sort_dependencies'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/resolver.rb:200:in `each'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/resolver.rb:200:in `sort_by'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/resolver.rb:200:in `sort_dependencies'
/Library/Ruby/Gems/2.0.0/gems/molinillo-0.5.7/lib/molinillo/delegates/specification_provider.rb:52:in `block in sort_dependencies'
/Library/Ruby/Gems/2.0.0/gems/molinillo-0.5.7/lib/molinillo/delegates/specification_provider.rb:69:in `with_no_such_dependency_error_handling'
/Library/Ruby/Gems/2.0.0/gems/molinillo-0.5.7/lib/molinillo/delegates/specification_provider.rb:51:in `sort_dependencies'
/Library/Ruby/Gems/2.0.0/gems/molinillo-0.5.7/lib/molinillo/resolution.rb:165:in `initial_state'
/Library/Ruby/Gems/2.0.0/gems/molinillo-0.5.7/lib/molinillo/resolution.rb:106:in `start_resolution'
/Library/Ruby/Gems/2.0.0/gems/molinillo-0.5.7/lib/molinillo/resolution.rb:64:in `resolve'
/Library/Ruby/Gems/2.0.0/gems/molinillo-0.5.7/lib/molinillo/resolver.rb:42:in `resolve'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/resolver.rb:62:in `resolve'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/installer/analyzer.rb:723:in `block in resolve_dependencies'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/installer/analyzer.rb:721:in `resolve_dependencies'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/installer/analyzer.rb:76:in `analyze'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/installer.rb:236:in `analyze'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/installer.rb:150:in `block in resolve_dependencies'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/installer.rb:149:in `resolve_dependencies'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/installer.rb:110:in `install!'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/command/install.rb:37:in `run'
/Library/Ruby/Gems/2.0.0/gems/claide-1.0.1/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/lib/cocoapods/command.rb:50:in `run'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-1.1.1/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:22:in `load'
/usr/local/bin/pod:22:in `<main>'
```

――― TEMPLATE END ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

[!] Oh no, an error occurred.

Search for existing GitHub issues similar to yours:
https://github.com/CocoaPods/CocoaPods/search?q=Cannot+initialize+an+aggregate+with+a+nil+source%3A+%28%5Bnil%5D%29&type=Issues

If none exists, create a ticket, with the template displayed above, on:
https://github.com/CocoaPods/CocoaPods/issues/new

Be sure to first read the contributing guide for details on how to properly submit a ticket:
https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md

Don't forget to anonymize any private data!

Looking for related issues on cocoapods/cocoapods...
 - Changes search index format to fasten `pod search --full` command.
   https://github.com/CocoaPods/CocoaPods/pull/4249 [closed] [33 comments]
   28 Oct 2015


[!] Your Podfile has had smart quotes sanitised. To avoid issues in the future, you should not use TextEdit for editing it. If you are not using TextEdit, you should turn off smart quotes in your editor of choice.

Dann sollten Sie versuchen, Ihre CocoaPods-Version zu aktualisieren. Dies kann Ihnen helfen: https://stackoverflow.com/a/39973232/3395008

6
ElonChan

Falls die Antwort von Mokagio für niemanden funktioniert, haben sich folgende Ergebnisse für mich herausgestellt:

Ändern Sie einfach die private Repo-URL in https://.

pod spec lint --sources='https://our-private-spec-repo:iOS/Specs.git,https://github.com/CocoaPods/Specs'
1
hbosamia

Damit pod install richtig funktioniert, musste ich noch hinzufügen:

source '<Prive specs lib URL>'
source 'https://github.com/CocoaPods/Specs.git'

..auf die Pod-Datei (nicht podspec).

Loswerden: 

Es konnte keine Spezifikation für [PrivateSpec] gefunden werden, die von .__ abhängig war. [PrivateClientSpec]

0
Menno