我无法理解为什么Cocoapod无法找到我在运行pod install
时创建的pod规范。有人可以帮我解决这个问题吗?
我在我的库podspec文件中定义了一个子规范,如下所示:
s.subspec 'mysubspec' do |c|
c.dependency 'ABC','1.0.0'
end
此依赖关系ABC列在库Podfile:
中pod 'ABC', :git => 'git@github.com:myrepo/Podspecs.git', :branch => 'xyz'
myrepo / Podspecs分支xyz中的Podspec文件ABC.podspec
如下所示:
Pod::Spec.new do |s|
s.name = "ABC"
s.version = "1.0.0"
s.source = { :git => "git@github.com:myrepo/Podspecs.git", :branch => "xyz" }
end
错误为[!] Unable to find a specification for ABC (= 1.0.0)
解决方案:在导入子规范之前导入pod ABC并将标记添加到podspec。
答案 0 :(得分:165)
我认为你的pod master repo存在问题。删除它并再次下载。
你可以这样做:
pod repo remove master
pod setup
pod install
或者:
sudo rm -fr ~/.cocoapods/repos/master
pod setup
pod install
答案 1 :(得分:28)
对我来说,找到规格是一个问题,而不是规范本身。我需要添加一个到Podfile的源链接,请参阅Podfile documentation
Cocoapods最近添加了链接到包含您要查找的pod规范文件的repo的需求,默认为:
source 'https://github.com/CocoaPods/Specs.git'
如果您使用的是更加模糊或自制的播客,则可能需要添加多个源链接。
答案 2 :(得分:15)
而不是:
s.source = { :git => "git@github.com:myrepo/Podspecs.git", :branch => "xyz" }
写这个: 不要忘记标签......
s.source = { :git => "https://github.com/myrepo/Podspecs.git", :branch => "xyz",
:tag => s.version.to_s }
答案 3 :(得分:7)
对我来说,这就像一个魅力。
pod repo remove master
pod setup
但是,您可以直接尝试pod setup
,因为有些用户指出。
答案 4 :(得分:6)
我在添加
后解决了这个问题source '/Users/username/Documents/path/to/iOS_SpecsRepository'
source 'https://github.com/CocoaPods/Specs.git'
到Podfile。 好吧。我用一个本地存储库作为我的回购。所以我可以在另一个podspec文件中使用它
s.dependency 'iOS_Networking_CPN', '~> 0.1.1'
iOS_Networking_CPN
位于本地路径中。
答案 5 :(得分:4)
MGBoxkit
我遇到了类似的错误[!]无法找到
的规范MGBoxkit
替换以下行
pod 'MGBoxkit'
与
pod 'MGBoxKit'
解决了这个问题。
答案 6 :(得分:4)
更新cocoapods的主仓库。
`pod repo update master`
答案 7 :(得分:3)
确保添加了
source 'https://github.com/CocoaPods/Specs.git'
在你的Podfile的最开头
答案 8 :(得分:1)
我用下面的命令解决了我的问题:
cocoa pod update
更新使用此命令
sudo gem install cocoapods
如果上面的命令给出错误而不是使用这个
sudo gem install -n / usr / local / bin cocoapods
而不是这样做
pod repo update
答案 9 :(得分:1)
我错过了添加导致问题的,
。
更换,
pod 'PodName' '~> 2.3'
使用,
pod 'PodName', '~> 2.3'
做完了。
答案 10 :(得分:0)
有同样的问题。
真正对我有用的是gem uninstall cocoapods
(如https://stackoverflow.com/users/4264880/seema-sharma所述),我发现我安装了11个(!)不同的cocoapods版本。
我选择卸载所有,然后gem install cocoapods:1.4.0
现在好了。
答案 11 :(得分:0)
对我来说,下面的效果很好但是第一次尝试可能是直接的“pod setup”命令如果那样不起作用那么去下面的命令肯定会让事情发生。
pod repo删除主人
吊舱设置
pod安装
答案 12 :(得分:0)
首先,您需要将Podspec添加到私人规格存储库中;这样,当您尝试安装Pod时,CocoaPods便可以找到它。
在终端中输入以下内容,确保仍在您要添加的框架目录中:
pod repo add [your framework name] [Your framework Git URL]
pod repo push [your framework name] [your framework .podspec file name]
答案 13 :(得分:0)
请遵循以下步骤:
步骤0: pod repo update master
步骤1: pod install
您完成了!
答案 14 :(得分:0)
改为使用tis。 Using private pod and public pod in the same project
在podfile的开头添加私有和公共(官方)源。
答案 15 :(得分:0)
没有一个答案对我有帮助。最终,我发现我对其中一个Pod犯了 typo拼写错误。
例如:-Firebaseresulrereres/Analytics
。应该是Firebase/Analytics
,但是在我不知道的情况下,广告连播名称的拼写错误如Firebaseresulrereres/Analytics
。
更正Pod名称对我有用!。我花了一个小时才找到这个!发展有时会模棱两可,令人沮丧! :)
答案 16 :(得分:0)
我在与所有公共仓库打交道。我遇到了类似的错误:
Unable to find a specification for `TOCropViewController (~> 2.5.2)` depended upon by `image_cropper`
由于某种原因,TOCropViewController
规范不可用。我尝试了以下方法:
flutter clean
rm -Rf ios/Pods
rm -Rf ios/.symlinks
rm -Rf ios/Flutter/Flutter.framework
rm -Rf ios/Flutter/Flutter.podspec
rm ios/Podfile
flutter run
但是插件规范仍然不可用。最后,我通过删除吊舱的仓库主库解决了该问题。
pod repo remove master
sudo rm -rf ~/.cocoapods/repos
pod setup
pod install
要验证并确认该插件在此处,我在grep
内尝试使用.cocoapods
,使用:
grep -r "TOCropViewController" -n ~/.cocoapods
在~/.cocoapods/repos/trunk/Specs/3/7/4/TOCropViewController/2.5.2/TOCropViewController.podspec.json
内
我找到了插件的git repo和正确的版本号。
"source": {
"git": "https://github.com/TimOliver/TOCropViewController.git",
"tag": "2.5.2"
},
此后flutter clean
和flutter run
开始工作。
答案 17 :(得分:0)
--dirsfirst List directories before files (-U disables).
在我的情况下解决了同样的错误。
答案 18 :(得分:-1)
对于我来说,我通过更新存储库解决了我的问题:
pod repo update
pod install