Không thể tìm thấy thông số kỹ thuật trong CocoaPods


85

Tôi không thể hiểu tại sao Cocoapod không thể tìm thấy thông số kỹ thuật nhóm mà tôi đã tạo khi tôi chạy pod install. Ai đó có thể giúp tôi giải quyết rắc rối này?

Tôi đang xác định một subspec trong tệp podspec thư viện của mình như sau:

s.subspec 'mysubspec' do |c|
  c.dependency 'ABC','1.0.0'
end 

ABC phụ thuộc này được liệt kê trong thư viện Podfile:

pod 'ABC', :git => 'git@github.com:myrepo/Podspecs.git', :branch => 'xyz'

Tệp Podspec ABC.podspectrong nhánh xyz của myrepo / Podspecs có vẻ như thế này:

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

Lỗi là [!] Unable to find a specification for ABC (= 1.0.0)

Giải pháp: nhập nhóm ABC trước khi nhập tệp con và thêm thẻ vào podspec.


Lỗi bạn nhận được là gì? Sao chép và dán nó vào câu hỏi của bạn.
Anthony

Lỗi làUnable to find specification for 'ABC' (=1.0.0)
Gaius Augustus,

Câu trả lời:


20

Thay vì:

s.source       = { :git => "git@github.com:myrepo/Podspecs.git", :branch => "xyz" }

Viết thế này: Đừng quên thẻ ...

s.source       = { :git => "https://github.com/myrepo/Podspecs.git", :branch => "xyz",
                   :tag => s.version.to_s }

Bạn phải nói với nhóm bạn đang nói thẻ nào. Đó là điều bắt buộc.
gran33,

Đơn giản chỉ cần thêm thẻ vào cam kết cuối cùng của bạn
gran33,

1
Tôi sẽ thử nó. Thật không may, nó không có trong tài liệu Podspec.
Gaius Augustus

Nó không giải quyết được vấn đề: [!] Unable to find a specification for ABC (= 1.0.0) '
Gaius Augustus,

1
Tôi giải quyết vấn đề! Tôi phải nhập nhóm ABC trước khi nhập nhóm con.
Gaius Augustus,

184

Tôi cho rằng có vấn đề với repo master pod của bạn. Xóa nó và tải xuống lại.

Bạn có thể làm:

pod repo remove master
pod setup
pod install

Hoặc là:

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

50
Chỉ cần chạy pod setupđã làm công việc.
Nagendra Rao

1
Đối với tôi, chỉ chạy dòng gỡ bỏ đầu tiên đã giải quyết được vấn đề! Phải mất một thời gian để thiết lập.
sinewave440hz

2
Chà! Điều này. Vì một số lý do repo chính Spec của tôi không được thiết lập chính xác và tôi phải xóa nó theo cách này, sau đó thực hiện thiết lập và cài đặt. Cám ơn vì cái này!
praneetloke

1
'thiết lập pod' mất khá nhiều thời gian, nhưng đó là tất cả những gì tôi cần (như Rao đã đề cập)
Chris Allinson

3
Có thể bạn muốn thử pod repo update && pod setuptrước - nếu repo của bạn chỉ thiếu thông số kỹ thuật, điều này có thể khắc phục nó và sẽ nhanh hơn là sao chép lại toàn bộ repo từ đầu.
Eliot

35

Đối với tôi, đó là một vấn đề với việc tìm kiếm thông số kỹ thuật, không phải chính thông số kỹ thuật. Tôi cần thêm liên kết nguồn vào Podfile, hãy xem tài liệu Podfile

Cocoapods gần đây đã thêm nhu cầu liên kết đến repo chứa tệp thông số nhóm mà bạn đang tìm kiếm, mặc định là:

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

Bạn có thể cần thêm nhiều liên kết nguồn nếu bạn đang sử dụng các nhóm khó hiểu hơn hoặc tự chế hơn.


1
Đây không thể là một yêu cầu (ít nhất là không phải với bản phát hành mới nhất), bởi vì tôi không cần thêm liên kết nguồn và sau khi làm theo gợi ý của Gastón, tất cả đều hoạt động tốt.
sinewave440hz

@ sinewave440hz, thêm nguồn thường được sử dụng nhất khi bạn cần truy cập kho lưu trữ riêng tư không đạt tiêu chuẩn .git. Nguồn mặc định là công khai.
ScottyBlades

Tôi hiểu rồi, cảm ơn (không phải là tôi nhớ viết bất kỳ điều đó, nhưng tôi chắc chắn nó sẽ giúp một ai đó ở đâu đó: D)
sinewave440hz

7

Tôi giải quyết vấn đề này sau khi thêm

source '/Users/username/Documents/path/to/iOS_SpecsRepository'
source 'https://github.com/CocoaPods/Specs.git'

sang Podfile. Tôi đã sử dụng kho lưu trữ cục bộ làm Kho lưu trữ của mình. Vì vậy, tôi có thể sử dụng cái này trong một tệp podspec khác

s.dependency 'iOS_Networking_CPN', '~> 0.1.1'

iOS_Networking_CPN nằm trong đường dẫn cục bộ.


source '/ Users / username / Documents / path / to / iOS_SpecsRepository' đã hoạt động, bạn có biết tại sao tôi phải sử dụng đường dẫn nguồn cục bộ không?
gabbler

theo ý kiến của tôi, bởi vì mọi nhu cầu thiết bị một kho lưu trữ địa phương cho một podspec
Zippo

7

Với tôi, điều này giống như một cái duyên.

pod repo remove master
pod setup

Tuy nhiên, bạn có thể thử trực tiếp, pod setupnhư một số người dùng đã chỉ ra.


6

Hãy chắc chắn rằng bạn đã thêm

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

ở phần đầu của Podfile của bạn


2
Điều này đặc biệt có liên quan nếu bạn muốn thêm một nhóm riêng.
Stan


4

Tôi đã gặp lỗi tương tự cho MGBoxkit

[!] Không thể tìm thấy thông số kỹ thuật cho MGBoxkit

Bằng cách thay thế dòng sau

pod 'MGBoxkit'

với

pod 'MGBoxKit'

đã khắc phục sự cố.


Sự khác biệt là gì?
Gargo

Typo như k được thay thế bằng K.
zeeawan

2

Trước tiên, bạn cần thêm Podspec của mình vào kho thông số kỹ thuật riêng; điều này cho phép CocoaPods tìm thấy nhóm khi bạn cố gắng cài đặt nó.

Nhập thông tin sau vào Terminal, đảm bảo rằng bạn vẫn đang ở trong thư mục khung mà bạn đang cố thêm:

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

1

Tôi đã bỏ lỡ thêm việc ,gây ra vấn đề.

Thay thế,

pod 'PodName' '~> 2.3'

Với,

pod 'PodName', '~> 2.3'

Đã hoàn thành công việc.


1

Tôi đã giải quyết vấn đề của mình bằng lệnh dưới đây:

cập nhật vỏ ca cao

Để cập nhật, hãy sử dụng lệnh này

sudo gem cài đặt cocoapods

nếu lệnh trên đưa ra lỗi hơn sử dụng lệnh này

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

và hơn làm điều này

cập nhật pod repo


1

Đối với tôi, lệnh dưới đây hoạt động tốt nhưng lần đầu tiên thử có thể là lệnh "thiết lập pod" trực tiếp Nếu điều đó không hoạt động thì hãy thực hiện các lệnh dưới đây chắc chắn sẽ làm cho mọi thứ xảy ra.

pod repo remove master
pod setup
pod install


Câu trả lời này khác với câu trả lời của @ gastón-antonio-montes như thế nào?
Leo

1

Làm theo các bước sau:

Bước 0: pod repo update master

Bước 1: pod install

Và bạn đã hoàn thành!


0

có cùng một vấn đề.

những gì thực sự hiệu quả với tôi là gem uninstall cocoapods(như đã đề cập ở trên bởi https://stackoverflow.com/users/4264880/seema-sharma ), nơi tôi nhận thấy rằng tôi đã cài đặt 11 (!) phiên bản cocoapods khác nhau.

Tôi đã chọn gỡ cài đặt tất cả và sau đó gem install cocoapods:1.4.0

Tất cả tốt bây giờ.



0

Không có câu trả lời nào giúp tôi. Cuối cùng, tôi đã phát hiện ra rằng tôi đã mắc lỗi chính tả chính tả cho một trong các Pod .

Ví dụ: - Firebaseresulrereres/Analytics. Đúng ra là như vậy Firebase/Analyticsnhưng tôi không biết rằng tên nhóm đã sai chính tả như thế nào Firebaseresulrereres/Analytics.

Sửa lại Tên nhóm đã làm một mẹo nhỏ cho tôi! . Tôi đã mất 1 giờ để tìm thấy cái này !. Sự phát triển đôi khi có thể mơ hồ và gây khó chịu! :)


0

Tôi đã làm việc với tất cả các repo công khai. Tôi đã gặp lỗi tương tự:

Unable to find a specification for `TOCropViewController (~> 2.5.2)` depended upon by `image_cropper`

Vì một số lý do TOCropViewControllerkhông có thông số kỹ thuật. Tôi đã thử những cách sau:

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

Nhưng thông số kỹ thuật của plugin vẫn không khả dụng. Cuối cùng, tôi đã giải quyết nó bằng cách loại bỏ tổng thể repo của pod.

pod repo remove master
sudo rm -rf ~/.cocoapods/repos
pod setup
pod install

Để xác thực và xác nhận rằng plugin ở đây, tôi đã thử grepbên trong .cocoapods, sử dụng:

 grep -r "TOCropViewController" -n ~/.cocoapods

Phía trong ~/.cocoapods/repos/trunk/Specs/3/7/4/TOCropViewController/2.5.2/TOCropViewController.podspec.json

Tôi đã tìm thấy git repo của plugin và số phiên bản chính xác.

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

Sau đó flutter cleanflutter runbắt đầu làm việc.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.