繁体   English   中英

在 CocoaPods 中找不到规范

[英]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 cleanflutter 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM