[英]Unable to find a specification in CocoaPods
我不明白为什么 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 master repo 有问题。 删除它并重新下载。
你可以做:
pod repo remove master
pod setup
pod install
要么:
sudo rm -fr ~/.cocoapods/repos/master
pod setup
pod install
对我来说,找到规范是一个问题,而不是规范本身。 我需要向 Podfile 添加源链接,请参阅Podfile 文档
Cocoapods 最近添加了需要链接到包含您要查找的 pod 规范文件的 repo,默认为:
source 'https://github.com/CocoaPods/Specs.git'
如果您使用更晦涩或自制的 pod,您可能需要添加多个源链接。
代替:
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 }
确保你添加了
source 'https://github.com/CocoaPods/Specs.git'
在 Podfile 的最开始
添加后我解决了这个问题
source '/Users/username/Documents/path/to/iOS_SpecsRepository'
source 'https://github.com/CocoaPods/Specs.git'
到 Podfile。 嗯。我使用本地存储库作为我的 Repo。 所以我可以在另一个 podspec 文件中使用它
s.dependency 'iOS_Networking_CPN', '~> 0.1.1'
iOS_Networking_CPN
在本地路径中。
对我来说,这就像一种魅力。
pod repo remove master
pod setup
但是,您可以直接尝试,某些用户指出的pod setup
。
更新 cocoapods 的主仓库。
pod repo update master
我在MGBoxkit 中遇到了类似的错误
[!] 找不到
MGBoxkit
的规范
通过替换以下行
pod 'MGBoxkit'
和
pod 'MGBoxKit'
解决了这个问题。
您首先需要将您的 Podspec 添加到私有规范存储库中; 这让 CocoaPods 在您尝试安装时找到 pod。
在终端中输入以下内容,确保您仍在尝试添加的框架目录中:
pod repo add [your framework name] [Your framework Git URL]
pod repo push [your framework name] [your framework .podspec file name]
我错过了添加,
导致问题。
更换,
pod 'PodName' '~> 2.3'
和,
pod 'PodName', '~> 2.3'
做了工作。
我用以下命令解决了我的问题:
可可豆更新
要更新使用此命令
sudo gem 安装 cocoapods
如果上面的命令给出错误而不是使用这个
sudo gem install -n /usr/local/bin cocoapods
而不是这样做
pod 回购更新
对我来说,下面的工作很好,但首先尝试可能是直接的“pod setup”命令如果这不起作用,那么使用下面的命令肯定会让事情发生。
pod repo 移除 master
吊舱设置
吊舱安装
请按照以下步骤操作:
第 0 步: pod repo update master
第 1 步: pod install
你已经完成了!
有同样的问题。
真正对我有用的是gem uninstall cocoapods
(如上文https://stackoverflow.com/users/4264880/seema-sharma 所述),我发现我安装了 11 个(!)不同的 cocoapods 版本。
我选择卸载所有然后gem install cocoapods:1.4.0
现在一切都很好。
使用 tis 代替。 在同一个项目中使用私有 Pod 和公共 Pod
在 podfile 的开头添加私有和公共(官方)的源。
没有一个答案对我有帮助。 最终我发现我有一个Pods 的拼写错误。
例如:- Firebaseresulrereres/Analytics
。 它应该是Firebase/Analytics
但在我不知道的情况下,pod 名称的拼写错误,如Firebaseresulrereres/Analytics
。
更正 Pod 名称对我有用! . 我花了 1 个小时才找到这个! 开发有时可能会模棱两可且令人沮丧! :)
我正在与所有公共存储库一起工作。 我收到了类似的错误:
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 master 来解决它。
pod repo remove master
sudo rm -rf ~/.cocoapods/repos
pod setup
pod install
为了验证和确认插件在这里,我在.cocoapods
尝试了grep
,使用:
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
开始工作。
pod update
在我的情况下解决了同样的错误。
我不得不在 Podfile 的开头添加这两行:
source 'https://github.com/CocoaPods/Specs.git' source 'https://github.com/goinstant/pods-specs-public'
然后再次运行pod install
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.