CocoaPodsで仕様が見つかりません


86

を実行しpod installたときに、Cocoapodが作成したポッド仕様を見つけられない理由がわかりません。誰かが私がこの問題を解決するのを手伝ってもらえますか?

ライブラリの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'

ABC.podspecmyrepo / Podspecsのブランチxyzにある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)

解決策: サブスペックをインポートする前にポッドABCをインポートし、ポッドスペックにタグを追加します。


あなたが受け取るエラーは何ですか?コピーして質問に貼り付けます。
アンソニー

エラーはUnable to find specification for 'ABC' (=1.0.0)
Gaius Augustus

回答:


21

の代わりに:

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 }

どのタグが話しているのかをポッドに伝える必要があります。それは絶対必要です。
gran33 2014

単純に、最後のコミットにタグを追加します
gran33 2014

1
私はそれを試してみます。残念ながら、Podspecのドキュメントにはありません。
ガイウスアウグストゥス

それは問題を解決しませんでした:[!] Unable to find a specification for ABC(= 1.0.0) `
Gaius Augustus

1
私は問題を解決しました!サブスペックをインポートする前に、ポッドABCをインポートする必要があります。
ガイウスアウグストゥス

185

ポッドマスターリポジトリに問題があると思います。削除して再度ダウンロードしてください。

できるよ:

pod repo remove master
pod setup
pod install

または:

sudo rm -fr ~/.cocoapods/repos/master
pod setup
pod install

50
走るだけでpod setup仕事ができました。
ナゲンドララオ

1
私にとっては、最初に削除行を実行するだけで問題が解決しました。ただし、セットアップにはしばらく時間がかかりました。
sinewave440hz 2016

2
うわー!この。何らかの理由で、Specマスターリポジトリが正しくセットアップされなかったため、この方法で削除してから、セットアップとインストールを行う必要がありました。これをありがとう!
praneetloke 2017年

1
「ポッドのセットアップ」にはかなりの時間がかかりましたが、必要なのは(ラオが述べたように)すべてでした
Chris Allinson 2017

3
pod repo update && pod setup最初に試してみることをお勧めします-リポジトリに仕様がない場合、これで修正される可能性があり、リポジトリ全体を最初から再複製するよりも高速になります。
エリオット

35

私にとって、それはスペック自体ではなく、スペックを見つけることに関する問題でした。Podfileにソースリンクを追加する必要がありました。Podfileのドキュメントを参照してください

Cocoapodsは最近、探しているポッドスペックファイルを保持するリポジトリにリンクする必要性を追加しました。デフォルトは次のとおりです。

source 'https://github.com/CocoaPods/Specs.git'

よりあいまいなポッドや自家製のポッドを使用している場合は、複数のソースリンクを追加する必要がある場合があります。


1
ソースリンクを追加する必要がなく、Gastónの提案に従った後はすべて正常に機能したため、これは要件にはなりません(少なくとも最新リリースでは)。
sinewave440hz 2016

@ sinewave440hz、ソースの追加は、非標準のプライベート.gitリポジトリにアクセスする必要がある場合に最もよく使用されます。デフォルトのソースはパブリックです。
ScottyBlades 2018

私は(私はそれのいずれかを書いて覚えていないことが、私は確かにそれが誰かのどこかに役立ちますよ:D)、感謝を参照してください
sinewave440hz

7

追加後にこれを解決します

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 ローカルパスにあります。


ソース '/ Users / username / Documents / path / to / iOS_SpecsRepository'が機能しましたが、ローカルソースパスを使用する必要がある理由を知っていますか?
gabbler 2018

私の意見では、すべてのデバイスにpodspecのローカルリポジトリが必要なため
zippo

7

私にとって、これは魅力のように機能しました。

pod repo remove master
pod setup

ただし、pod setup一部のユーザーが指摘したように、直接試すこともできます。


6

追加したことを確認してください

source 'https://github.com/CocoaPods/Specs.git'

Podfileの最初に


2
これは、プライベートポッドを追加する場合に特に関係があります。
スタン

5

cocoapodsのマスターリポジトリを更新します。

`pod repo update master`

4

MGBoxkitでも同様のエラーが発生していました

[!]の仕様が見つかりません MGBoxkit

次の行を置き換えることによって

pod 'MGBoxkit'

pod 'MGBoxKit'

問題を修正しました。


違いはなんですか?
ガルゴ2016

kはK.に置き換えたとして誤植
zeeawan

2

まず、Podspecをプライベートスペックリポジトリに追加する必要があります。これにより、CocoaPodsは、インストールしようとしたときにポッドを見つけることができます。

ターミナルに次のように入力し、追加しようとしているフレームワークディレクトリにいることを確認します。

pod repo add [your framework name] [Your framework Git URL]
pod repo push [your framework name] [your framework .podspec file name]


1

以下のコマンドで問題を解決しました:

ココアポッドの更新

更新するには、このコマンドを使用します

sudo gem install cocoapods

上記のコマンドでエラーが発生した場合は、これを使用してください

sudo gem install -n / usr / local / bin cocoapods

そしてこれよりも

ポッドレポの更新


1

私にとって、以下はうまくいきましたが、最初の試みは直接の「ポッドセットアップ」コマンドである可能性がありますそれがうまくいかない場合は、以下のコマンドを実行すると間違いなく物事が起こります。

ポッドリポジトリ削除マスター
ポッドセットアップ
ポッドインストール


これは@gastón-antonio-montesの答えとどう違うのですか?
レオ

1

以下の手順に従ってください。

ステップ0: pod repo update master

ステップ1: pod install

そして、あなたは完了です!


0

同じ問題がありました。

私にとって本当にうまくいったのはgem uninstall cocoapodshttps://stackoverflow.com/users/4264880/seema-sharmaで前述したように)11(!)の異なるココアポッドバージョンがインストールされていることを発見したことです。

すべてをアンインストールしてからアンインストールすることにしました gem install cocoapods:1.4.0

今はすべて良いです。



0

答えのどれも私を助けませんでした。最終的に、ポッドの1つにタイプミスのスペルミスがあることがわかりました。

例:- Firebaseresulrereres/Analytics。あるはずでしたがFirebase/Analytics、私の知らないうちにポッド名のスペルが間違っていましたFirebaseresulrereres/Analytics

ポッド名を修正することでうまくいきました。。これを見つけるのに1時間かかりました!。開発はあいまいでイライラする場合があります。:)


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リポジトリと正しいバージョン番号を見つけました。

  "source": {
    "git": "https://github.com/TimOliver/TOCropViewController.git",
    "tag": "2.5.2"
  },

その後flutter cleanflutter run仕事を始めました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.