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 cleanflutter run시작했습니다.

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