Cocoapods: Local Podspec dependency failure

Created on 1 Mar 2013  路  3Comments  路  Source: CocoaPods/CocoaPods

Report

  • What did you do?
    pod install or pod update from command line
  • What did you expect to happen?
    The Pods folder and the workspace should have been updated, as already done with v. 0.16.x.
  • What happened instead?
    The command crashes with the following command. Removing the s.dependency call from the local OpenVoters.podspec file solves the problem but, obviously, doesn't import the required dependency spec.

Even changing the s.dependency call to s.ios.dependency doesn't fix the problem.

Stack

   CocoaPods : 0.17.0.rc2
        Ruby : ruby 1.9.3p362 (2012-12-25 revision 38607) [x86_64-darwin12.2.0]
    RubyGems : 1.8.23
        Host : Mac OS X 10.8.2 (12C60)
       Xcode : 4.6 (4H127)
Ruby lib dir : /myRubyDir/ruby-1.9.3-p362/lib
Repositories : master - https://github.com/CocoaPods/Specs.git @ 9962cb5641dfb8f84d98785e1f055becb84fd536

Podfile

          platform :ios, '5.0'

pod 'Nimbus/Core'
pod 'Nimbus/NetworkImage'
pod 'Nimbus/AttributedLabel'
pod 'Nimbus/Interapp'
pod "InnerBand"
pod 'MBProgressHUD'
pod 'MPColorTools'
pod 'iCarousel'

pod 'OpenVoters', :local => '~/Projects/git/ios-lib'
pod 'ShareKit'

Error

Pod::DSLError - Invalid `OpenVoters.podspec` file: undefined method `dependency=' for #<Pod::Specification::DSL::PlatformProxy:0x007f8f2b99d3f8>
 #
 #  from /myProjectDir/Pods/Local Podspecs/OpenVoters.podspec:26
 #  -------------------------------------------
 #    s.platform       = :ios
 >    s.dependency     = 'AFJSONRPCClient'
 #  end
 #  -------------------------------------------
 #
/myGemsDir/gems/cocoapods-core-0.17.0.rc2/lib/cocoapods-core/specification/dsl/platform_proxy.rb:39:in `method_missing'
/myProjectDir/Pods/Local Podspecs/OpenVoters.podspec:26:in `block in _eval_podspec'
/myGemsDir/gems/cocoapods-core-0.17.0.rc2/lib/cocoapods-core/specification.rb:47:in `initialize'
/myProjectDir/Pods/Local Podspecs/OpenVoters.podspec:1:in `new'
/myProjectDir/Pods/Local Podspecs/OpenVoters.podspec:1:in `_eval_podspec'
/myGemsDir/gems/cocoapods-core-0.17.0.rc2/lib/cocoapods-core/specification.rb:586:in `eval'
/myGemsDir/gems/cocoapods-core-0.17.0.rc2/lib/cocoapods-core/specification.rb:586:in `_eval_podspec'
/myGemsDir/gems/cocoapods-core-0.17.0.rc2/lib/cocoapods-core/specification.rb:535:in `from_file'
/myGemsDir/gems/cocoapods-0.17.0.rc2/lib/cocoapods/sandbox.rb:224:in `store_podspec'
/myGemsDir/gems/cocoapods-0.17.0.rc2/lib/cocoapods/external_sources.rb:168:in `store_podspec'
/myGemsDir/gems/cocoapods-0.17.0.rc2/lib/cocoapods/external_sources.rb:299:in `block in fetch'
/myGemsDir/gems/cocoapods-0.17.0.rc2/lib/cocoapods/user_interface.rb:67:in `titled_section'
/myGemsDir/gems/cocoapods-0.17.0.rc2/lib/cocoapods/external_sources.rb:297:in `fetch'
/myGemsDir/gems/cocoapods-0.17.0.rc2/lib/cocoapods/installer/analyzer.rb:254:in `block (2 levels) in fetch_external_sources'
/myGemsDir/gems/cocoapods-0.17.0.rc2/lib/cocoapods/installer/analyzer.rb:252:in `each'
/myGemsDir/gems/cocoapods-0.17.0.rc2/lib/cocoapods/installer/analyzer.rb:252:in `block in fetch_external_sources'
/myGemsDir/gems/cocoapods-0.17.0.rc2/lib/cocoapods/user_interface.rb:46:in `section'
/myGemsDir/gems/cocoapods-0.17.0.rc2/lib/cocoapods/installer/analyzer.rb:251:in `fetch_external_sources'
/myGemsDir/gems/cocoapods-0.17.0.rc2/lib/cocoapods/installer/analyzer.rb:55:in `analyze'
/myGemsDir/gems/cocoapods-0.17.0.rc2/lib/cocoapods/installer.rb:156:in `analyze'
/myGemsDir/gems/cocoapods-0.17.0.rc2/lib/cocoapods/installer.rb:92:in `block in resolve_dependencies'
/myGemsDir/gems/cocoapods-0.17.0.rc2/lib/cocoapods/user_interface.rb:46:in `section'
/myGemsDir/gems/cocoapods-0.17.0.rc2/lib/cocoapods/installer.rb:91:in `resolve_dependencies'
/myGemsDir/gems/cocoapods-0.17.0.rc2/lib/cocoapods/installer.rb:84:in `install!'
/myGemsDir/gems/cocoapods-0.17.0.rc2/lib/cocoapods/command/project.rb:40:in `run_install_with_update'
/myGemsDir/gems/cocoapods-0.17.0.rc2/lib/cocoapods/command/project.rb:70:in `run'
/myGemsDir/gems/claide-0.2.0/lib/claide.rb:535:in `run'
/myGemsDir/gems/cocoapods-0.17.0.rc2/lib/cocoapods/command.rb:36:in `run'
/myGemsDir/gems/cocoapods-0.17.0.rc2/bin/pod:16:in `<top (required)>'
/myGemsDir/bin/pod:19:in `load'
/myGemsDir/bin/pod:19:in `<main>'
/myGemsDir/bin/ruby_noexec_wrapper:14:in `eval'
/myGemsDir/bin/ruby_noexec_wrapper:14:in `<main>'

Most helpful comment

The syntax for specifying dependencies is:

s.dependency  'AFJSONRPCClient'

The equals sign is not part of the command because you are not assigning but adding a dependency.

s.dependency  'AFJSONRPCClient'
s.dependency  'RestKit'

Otherwise it would imply that to have multiple dependencies you need to have a list, which would get very messy with version requirements.

# Example of bad DSL
s.dependencies = {
  'AFJSONRPCClient' => [], 
  'RestKit' => ['>1.0', '<2.0']
}

As far as I'm concerned also CocoaPods 0.16.x would raise with that podspec.

All 3 comments

The syntax for specifying dependencies is:

s.dependency  'AFJSONRPCClient'

The equals sign is not part of the command because you are not assigning but adding a dependency.

s.dependency  'AFJSONRPCClient'
s.dependency  'RestKit'

Otherwise it would imply that to have multiple dependencies you need to have a list, which would get very messy with version requirements.

# Example of bad DSL
s.dependencies = {
  'AFJSONRPCClient' => [], 
  'RestKit' => ['>1.0', '<2.0']
}

As far as I'm concerned also CocoaPods 0.16.x would raise with that podspec.

I wonder why the documentation mentions = symbol then. Podspec syntax

Was this page helpful?
0 / 5 - 0 ratings

Related issues

dawnnnnn picture dawnnnnn  路  3Comments

sonu5 picture sonu5  路  3Comments

steffendsommer picture steffendsommer  路  3Comments

pallaviMN picture pallaviMN  路  3Comments

5SMNOONMS5 picture 5SMNOONMS5  路  3Comments