CocoaPods에서 사양을 찾을 수 없습니다.


87

Cocoapod가 .NET을 실행할 때 만든 포드 사양을 찾을 수없는 이유를 이해할 수 없습니다 pod install. 누군가이 문제를 해결하도록 도울 수 있습니까?

다음과 같이 내 라이브러리 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)

해결 방법 : 하위 사양을 가져 오기 전에 pod ABC를 가져 와서 podspec에 태그를 추가하십시오.


수신 한 오류는 무엇입니까? 질문에 복사하여 붙여 넣으십시오.
— 안토니

오류는Unable to find specification for 'ABC' (=1.0.0)
— Gaius Augustus

답변:


22

대신에:

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

간단하게, 마지막 커밋에 태그를 추가
— gran33

1
시도해 볼게. 불행히도 Podspec 문서에는 없습니다.
— Gaius Augustus

문제가 해결되지 않았습니다 : [!] Unable to find a specification for ABC (= 1.0.0)`
— Gaius Augustus

1
나는 문제를 해결했다! 하위 사양을 가져 오기 전에 pod ABC를 가져와야합니다.
— Gaius Augustus

185

포드 마스터 리포지토리에 문제가 있다고 가정합니다. 삭제하고 다시 다운로드하십시오.

넌 할 수있어:

pod repo remove master
pod setup
pod install

또는:

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

50
그냥 달리기 만하면됩니다 pod setup.
— Nagendra Rao

1
나를 위해 먼저 제거 줄을 실행하면 문제가 해결되었습니다! 그래도 설정하는 데 시간이 걸렸습니다.
— sinewave440hz

2
와! 이. 어떤 이유로 내 Spec 마스터 리포지토리가 올바르게 설정되지 않았기 때문에 이런 식으로 제거한 다음 설정 및 설치를 수행해야했습니다. 감사합니다!
— praneetloke

1
'pod setup'은 꽤 오랜 시간이 걸렸지 만 내가 필요한 전부였습니다 (Rao가 언급했듯이)
— Chris Allinson

4
pod repo update && pod setup먼저 시도해 볼 수 있습니다. 저장소에 사양이 누락 된 경우이 방법이 문제를 해결할 수 있으며 처음부터 전체 저장소를 다시 복제하는 것보다 빠릅니다.
— Eliot

35

나에게 그것은 사양 자체가 아니라 사양을 찾는 문제였습니다. Podfile에 소스 링크를 추가해야했습니다. Podfile 문서 참조

Cocoapods는 최근에 찾고있는 포드 사양 파일이있는 저장소에 링크 할 필요성을 추가했습니다. 기본값은 다음과 같습니다.

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

더 모호하거나 직접 만든 포드를 사용하는 경우 여러 소스 링크를 추가해야 할 수 있습니다.


1
소스 링크를 추가 할 필요가 없었고 Gastón의 제안을 따른 후에는 모두 잘 작동했기 때문에 이것은 요구 사항이 될 수 없습니다 (적어도 최신 릴리스에서는 아님).
— sinewave440hz

@ sinewave440hz, 소스 추가는 비표준 개인 .git저장소 에 액세스해야 할 때 가장 자주 사용됩니다 . 기본 소스는 공개입니다.
— ScottyBlades

고마워요 (그것 중 어떤 것을 쓴 것을 기억하지는 않지만 누군가 어딘가에 도움이 될 것이라고 확신합니다 : D)
— sinewave440hz

7

추가했는지 확인하십시오.

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

Podfile의 맨 처음에


2
이것은 개인 포드를 추가하려는 경우 특히 관련이 있습니다.
— Stan

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 aug

내 의견으로는, 모든 장치가 필요하기 때문에 podspec에 대한 로컬 저장소
— 지포

7

저에게는 이것이 매력처럼 작동했습니다.

pod repo remove master
pod setup

그러나 pod setup일부 사용자가 지적했듯이 직접 시도 할 수 있습니다 .


5

cocoapods에 대한 마스터 저장소를 업데이트하십시오.

`pod repo update master`

4

MGBoxkit에 대해 비슷한 오류가 발생했습니다 .

[!] 사양을 찾을 수 없습니다. MGBoxkit

다음 줄을 바꾸면

pod 'MGBoxkit'

와

pod 'MGBoxKit'

문제를 해결했습니다.


차이점은 무엇입니까?
— Gargo

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

나를 위해, 아래는 잘 작동했지만 첫 번째 시도는 직접적인 "pod setup"명령이 될 수 있습니다. 작동하지 않으면 아래 명령으로 이동하면 확실히 일이 일어날 것입니다.

pod repo remove master
pod setup
pod install


이것이 @ gastón-antonio-montes의 대답 과 어떻게 다른 가요?
— Leo

1

아래 단계를 따르십시오.

0 단계 : pod repo update master

1 단계: pod install

그리고 당신은 끝났습니다!




0

어떤 답변도 나를 도왔습니다. 궁극적으로 나는 포드 중 하나에 오타 철자 오류 가 있음을 알았습니다 .

예 :- 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 repo와 올바른 버전 번호를 찾았습니다.

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

그 후 일 flutter clean을 flutter run시작했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.