MeetYouDevs / cocoapods-imy-bin

1.05k stars 245 forks source link

pod bin auto -> TypeError - no implicit conversion of Array into String #79

Closed miroda closed 3 years ago

miroda commented 3 years ago

TypeError - no implicit conversion of Array into String /Users//.rvm/rubies/ruby-2.6.0/lib/ruby/gems/2.6.0/gems/cocoapods-core-1.10.1/lib/cocoapods-core/specification.rb:705:in initialize' /Users//.rvm/rubies/ruby-2.6.0/lib/ruby/gems/2.6.0/gems/cocoapods-core-1.10.1/lib/cocoapods-core/specification.rb:705:innew' /Users//.rvm/rubies/ruby-2.6.0/lib/ruby/gems/2.6.0/gems/cocoapods-core-1.10.1/lib/cocoapods-core/specification.rb:705:in from_file' /Users//.rvm/rubies/ruby-2.6.0/lib/ruby/gems/2.6.0/gems/cocoapods-imy-bin-0.3.0.11/lib/cocoapods-imy-bin/command/bin/auto.rb:33:ininitialize' /Users//.rvm/rubies/ruby-2.6.0/lib/ruby/gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:356:in new' /Users//.rvm/rubies/ruby-2.6.0/lib/ruby/gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:356:inparse' /Users//.rvm/rubies/ruby-2.6.0/lib/ruby/gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:352:in parse' /Users//.rvm/rubies/ruby-2.6.0/lib/ruby/gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:352:inparse' /Users//.rvm/rubies/ruby-2.6.0/lib/ruby/gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:330:in run' /Users//.rvm/rubies/ruby-2.6.0/lib/ruby/gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/command.rb:52:inrun' /Users//.rvm/rubies/ruby-2.6.0/lib/ruby/gems/2.6.0/gems/cocoapods-1.10.1/bin/pod:55:in <top (required)>' /Users//.rvm/rubies/ruby-2.6.0/bin/pod:23:inload' /Users//.rvm/rubies/ruby-2.6.0/bin/pod:23:in <main>' /Users//.rvm/gems/ruby-2.6.0/bin/ruby_executable_hooks:24:ineval' /Users//.rvm/gems/ruby-2.6.0/bin/ruby_executable_hooks:24:in `

'

miroda commented 3 years ago

Podfile如下:

plugin 'cocoapods-imy-bin' use_binaries! target 'CCBin' do pod 'FMDB' end

Podfile_local

target 'CCBin' do#需要替换Podfile里面的组件才写到这里 pod 'FMDB', :path => '../FMDB' end

miroda commented 3 years ago
企业微信20210111-180952@2x
dabing1022 commented 3 years ago

可以提供下pod bin auto执行的文件夹里的内容截图看看

Pod::Specification中方法from_file的path是String,你的情况,path是个array。

def self.from_file(path, subspec_name = nil)
      path = Pathname.new(path)
    ...
end
miroda commented 3 years ago

Command

TypeError - no implicit conversion of Array into String
/Users/hupengfei/.rvm/rubies/ruby-2.6.0/lib/ruby/gems/2.6.0/gems/cocoapods-core-1.10.1/lib/cocoapods-core/specification.rb:705:in `initialize'
/Users/hupengfei/.rvm/rubies/ruby-2.6.0/lib/ruby/gems/2.6.0/gems/cocoapods-core-1.10.1/lib/cocoapods-core/specification.rb:705:in `new'
/Users/hupengfei/.rvm/rubies/ruby-2.6.0/lib/ruby/gems/2.6.0/gems/cocoapods-core-1.10.1/lib/cocoapods-core/specification.rb:705:in `from_file'
/Users/hupengfei/.rvm/rubies/ruby-2.6.0/lib/ruby/gems/2.6.0/gems/cocoapods-imy-bin-0.3.0.11/lib/cocoapods-imy-bin/command/bin/auto.rb:33:in `initialize'
/Users/hupengfei/.rvm/rubies/ruby-2.6.0/lib/ruby/gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:356:in `new'
/Users/hupengfei/.rvm/rubies/ruby-2.6.0/lib/ruby/gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:356:in `parse'
/Users/hupengfei/.rvm/rubies/ruby-2.6.0/lib/ruby/gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:352:in `parse'
/Users/hupengfei/.rvm/rubies/ruby-2.6.0/lib/ruby/gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:352:in `parse'
/Users/hupengfei/.rvm/rubies/ruby-2.6.0/lib/ruby/gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:330:in `run'
/Users/hupengfei/.rvm/rubies/ruby-2.6.0/lib/ruby/gems/2.6.0/gems/cocoapods-1.10.1/lib/cocoapods/command.rb:52:in `run'
/Users/hupengfei/.rvm/rubies/ruby-2.6.0/lib/ruby/gems/2.6.0/gems/cocoapods-1.10.1/bin/pod:55:in `<top (required)>'
/Users/hupengfei/.rvm/rubies/ruby-2.6.0/bin/pod:23:in `load'
/Users/hupengfei/.rvm/rubies/ruby-2.6.0/bin/pod:23:in `<main>'
/Users/hupengfei/.rvm/gems/ruby-2.6.0/bin/ruby_executable_hooks:24:in `eval'
/Users/hupengfei/.rvm/gems/ruby-2.6.0/bin/ruby_executable_hooks:24:in `<main>'
miroda commented 3 years ago

~/Documents/Code/CCBin

企业微信20210111-182136@2x
dabing1022 commented 3 years ago

你这不对呀。作者这个项目的目前的设计,必须要求Podfile、Podspec在同一个目录。你这个缺少Podspec,建议你把作者的 demo 项目跑起来看看。git 地址: https://github.com/su350380433/cocoapods-imy-bin-demo.git

imy-bin设计思路,使用一个壳工程target,名称随意,在 podspec 中描述后要打包的库,使用 dependency 的形式进行依赖,如果想特别指定 dependency 的 branch 或者 tag 或者 commit 等信息,可以借助 Podfile、Podfile_local 等来辅助。

miroda commented 3 years ago

可以了,加上Podspec之后就好了