Lỗi: Lỗi Hộp cát không đồng bộ với Podfile.lock khác Tấn sau khi cài đặt RestKit với cocoapods


232

Tôi đã gặp một vấn đề lạ sau khi cài đặt RestKit với cocoapods. Sau khi giải quyết sự phụ thuộc RestKit cho dự án của tôi bằng cocoapods và cố gắng xây dựng nó, tôi gặp phải lỗi này:

Hộp cát không đồng bộ với Podfile.lock. Chạy 'pod install' hoặc cập nhật cài đặt CocoaPods của bạn.

Tôi đã thử chạy pod install, nhưng không thay đổi.

Dưới đây là một số bức ảnh: nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

  PODS:
  - AFNetworking (1.3.3)
  - RestKit (0.20.3):
    - RestKit/Core
  - RestKit/Core (0.20.3):
    - RestKit/CoreData
    - RestKit/Network
    - RestKit/ObjectMapping
  - RestKit/CoreData (0.20.3)
  - RestKit/Network (0.20.3):
    - AFNetworking (~> 1.3.0)
    - RestKit/ObjectMapping
    - RestKit/Support
    - SOCKit
  - RestKit/ObjectMapping (0.20.3)
  - RestKit/Search (0.20.3):
    - RestKit/CoreData
  - RestKit/Support (0.20.3):
    - TransitionKit (= 1.1.1)
  - RestKit/Testing (0.20.3)
  - SOCKit (1.1)
  - TransitionKit (1.1.1)

DEPENDENCIES:
  - RestKit (~> 0.20.0)
  - RestKit/Search (~> 0.20.0)
  - RestKit/Testing (~> 0.20.0)

SPEC CHECKSUMS:
  AFNetworking: 61fdd49e2ffe6380378df37b3b6e70630bb9dd66
  RestKit: 1f181c180105a92f11ec4f6cd7de37625e516d83
  SOCKit: 2f3bc4d07910de12dcc202815e07db68a3802581
  TransitionKit: d0e3344aac92991395d4c2e72d9c5a8ceeb12910

COCOAPODS: 0.29.0

2
Bạn đã thử Run 'pod install' or update your CocoaPods installation.theo đề nghị của lỗi?
Wain

3
hoàn toàn, tôi đã làm điều đó, nhưng không thành công
Hashem Aboonajmi

1
Bạn có thể đăng phiên bản Restkit trong Podfile.lockvà trong Pods/Manifest.lockkhông? Lỗi đó xảy ra khi chúng không giống nhau.
MishieMoo

Vâng, tôi đã so sánh chúng, chúng giống hệt nhau.
Hashem Aboonajmi

Lỗi trên lỗi "hộp cát" là "diff: lệnh không tìm thấy" Tôi không biết nếu cài đặt lại diff có thể khắc phục được sự cố hay không, nhưng nó có thể là một gợi ý về những gì đang xảy ra.
Thỏ sấm sét

Câu trả lời:


318

Tôi đã có thể khắc phục điều đó bằng cách cập nhật Cốc Cốc.

I. Dọn dẹp dự án

  1. Trong trình điều hướng dự án, chọn dự án của bạn
  2. Chọn mục tiêu của bạn
  3. Xóa tất cả libPods * .a trong Build Phase> Liên kết nhị phân với thư viện

II. Cập nhật CacaoPods

  1. Khởi chạy Terminal và vào thư mục dự án của bạn.
  2. Cập nhật CocoaPods bằng lệnh pod install

3
Làm việc như một cơ duyên, bạn có thể muốn cập nhật câu trả lời của mình yo nói lệnh chạy cài đặt pod
ManicMonkOnMac

18
Về I.3 - ý bạn là phần 'Xây dựng giai đoạn> Liên kết nhị phân với thư viện'?
kraftydevil

1
Khi tôi chạy lệnh pod install trong thư mục dự án tôi nhận được cảnh báo bên dưới: Việc sử dụng các nguồn ẩn đã không được chấp nhận. Để tiếp tục sử dụng tất cả các nguồn hiện có trên máy của bạn, hãy thêm dòng sau vào đầu Podfile của bạn: nguồn ' github.com/CocoaPods/Specs.git ' Tôi cũng đã thêm liên kết này vào tệp pod nhưng điều tương tự đã xảy ra. xin đề nghị.
Mitesh Khatri

Ngoài ra, tôi đã phải xóa tất cả các giai đoạn xây dựng liên quan đến Cốc Cốc, chẳng hạn như 'Kiểm tra Pods Manifest.lock' và 'Sao chép tài nguyên Pods'.
JVillella

17
@ Valery Pavlov Các bước này đã hoạt động nhưng sau khi làm sạch dự án thành công, quá trình xây dựng thất bại ngay lập tức với 3 lỗi tương tự tôi dường như không thể thoát khỏi bên dưới. Tôi đã cố gắng loại bỏ hoàn toàn tất cả cocoapods, cài đặt lại, cập nhật, thực hiện tất cả những điều này với khởi động lại xcode và vv Tất cả những thứ này trong thiết bị đầu cuối thực hiện thành công nhưng quá trình xây dựng vẫn thất bại. Còn suy nghĩ nào nữa không? Lỗi: diff: /../Podfile.lock: Không có tệp hoặc thư mục khác diff: /Manifest.lock: Không có lỗi tệp hoặc thư mục như vậy: Hộp cát không đồng bộ với Podfile.lock. Chạy 'pod install' hoặc cập nhật cài đặt CocoaPods của bạn.
natur3

111

Sau nhiều suy nghĩ, tôi đã cố gắng khắc phục vấn đề này. Biến $ {PODS_ROOT} không được đặt và tôi thực hiện thủ thuật dưới đây. Chuyển đến Xây dựng giai đoạn -> Kiểm tra Pods Manifest.lock và thay thế

diff "${PODS_ROOT}/../Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null

đến

diff "${SRCROOT}/Podfile.lock" "${SRCROOT}/Pods/Manifest.lock" > /dev/null

Nó giúp tôi.


Tại sao $ PODS_ROOT không được giải quyết? Tôi có cần cài đặt lại pod cho dự án của mình không?
Petr Syrov

2
Lý do tại sao $ PODS_ROOT không được đặt chủ yếu là vì tệp .xcconfig được tạo bởi cocoapods không được áp dụng cho mục tiêu xây dựng.
Fujia

@Fujia làm cách nào để áp dụng tệp .xcconfig?
Darko Romanov

Trong trường hợp của tôi, tôi đặt PODS_ROOT = ${SRC_ROOT}/Podstrong xcconfig của mình cho cùng một hiệu ứng.
grego

44

Nếu bạn xóa tất cả các nhóm khỏi mục tiêu của mình trong Podfile, ví dụ:

target 'myTarget' do
pod 'great-stuff', '~> 4.0'  // you deleted this last pod
end

bạn sẽ cần xóa thủ công các bước xây dựng này khỏi Giai đoạn xây dựng mục tiêu Xcode của mình :

  • Kiểm tra Podif Manifest.lock
  • Sao chép tài nguyên Pod

Cocoapods (phiên bản ổn định hiện tại 0.37.2) không thực hiện việc dọn dẹp này khi bạn chạy pod install.


Điều này làm việc cho tôi. Id đã được chuyển sang swift 2 và đã nhận xét tất cả các nhóm - tôi chỉ bật một trong các nhóm trở lại thay vì gây rối với việc xóa các giai đoạn xây dựng.
brian.clear 30/9/2015

chơi lô tô! tôi đã dành hàng giờ để loại bỏ không gian làm việc của mình, cài đặt lại các nhóm, v.v. và không có gì khác làm việc.
Oren

35

Tôi đã tìm kiếm trong nhiều giờ và tôi tìm thấy giải pháp như sau:

Trong trường hợp của tôi, phương pháp 1 hoạt động.

Cách 1:

  1. chọn mục tiêu> đi đến Xây dựng cụm từ > nhấp Liên kết nhị phân với thư viện > xóa tất cả các tệp libPods.a
  2. mở Terminal> trực tiếp đến dự án của bạn> chạy:

     pod install
    
  3. làm sạch và xây dựng dự án

tham chiếu.1

Cách 2:

  1. mở Terminal> trực tiếp đến dự án của bạn> chạy:

    pod deintegrate --verbose    
    pod install --verbose
    

ref.2

Cách 3:

  1. chọn mục tiêu> đi đến Cài đặt bản dựng > nhấp vào dấu "+"
  2. thêm 2 Cài đặt do người dùng xác định: [bên trái = bên phải]

    PODS_ROOT = ${SRCROOT}/Pods
    

    PODS_PODFILE_DIR_PATH = ${SRCROOT}/
    

ref.3


Tôi đã thử tất cả các giải pháp khác nhưng không có gì hiệu quả. Phương pháp 3 làm việc cho tôi.
Vinner

25

Loại bỏ các pod khỏi dự án và cài đặt lại làm việc cho tôi.

kho lưu trữ GitHub đẹp có thể loại bỏ hoàn toàn các nhóm khỏi dự án.

Chỉ cần giữ bản sao lưu của PodFile của bạn và chạy bên dưới các lệnh.

  • đá quý cài đặt cocoapods-deintegrate
  • đá quý cài đặt cocoapods-sạch
  • Chuyển đến thư mục dự án và chạy pod deintegrate
  • Một lần nữa chạy pod sạch
  • Chạy cài đặt pod

Làm sạch và chạy.


1
Bạn thật tuyệt vời, chỉ có bạn làm việc cho tôi, cảm ơn rất nhiều
albert sh

Sau khi chạy các lệnh này, tôi nhận được một thông báo xây dựng thành công, nhưng bây giờ, không có gì xuất hiện để chạy trên trình giả lập cũng như bảng điều khiển. Bạn có biết tại sao điều này xảy ra?
Jorge Barrios

ĐƯỢC TUYỆT VỜI: Xây dựng các công trình, nhưng pod sạch sẽ làm mất mục tiêu dự án. Không có tài liệu lưu trữ được tạo ra cũng như ứng dụng được xây dựng.
Ruben

@Ruben nội dung biến mất sẽ được tạo lại trên "cài đặt pod" một lần nữa
Teena nath Paul

Mặc dù vậy, sau khi thực hiện các bước bạn đã đề cập đến biểu tượng ứng dụng của tôi sẽ không xuất hiện nữa vì dự án chính ... Chỉ có logo cordova xuất hiện và không có bản dựng hoặc lưu trữ nào được tạo.
Ruben

12

Sau khi thay đổi tên mục tiêu

Vấn đề của tôi là xcconfig với tên mục tiêu cũ.

  • Đã đi đến tệp dự án -> thông tin -> cấu hình
  • Đã xóa xcconfig cũ (cả Gỡ lỗi & Phát hành)
  • cài đặt pod

Nó sẽ cập nhật lên những cái mới.

Ngoài ra nếu bạn đã thiếu các tệp .h đó là lý do (đường dẫn tìm kiếm tiêu đề của nhóm nằm trong các xcconfig này)


Lựa chọn Nonelàm việc cho tôi là tốt. Tôi đã vật lộn với điều này trong một ngày khi cố gắng tích hợp SDK Gimbal2 vào dự án Ionic4.
Nga

9

Nếu bạn đang gặp một lỗi như sau:

diff: /../Podfile.lock: Không có tệp hoặc thư mục như vậy diff: /Manifest.lock: Không có lỗi tệp hoặc thư mục như vậy: Hộp cát không đồng bộ với Podfile.lock. Chạy 'pod install' hoặc cập nhật cài đặt CocoaPods của bạn.

Sau đó, có một vấn đề với Cocoapods trong dự án của bạn. Đôi khi cocoapod có thể không đồng bộ và bạn cần khởi tạo lại cocoapods. Bạn sẽ có thể giải quyết lỗi này bằng cách:

  1. Xóa tệp Podfile.lock trong thư mục dự án của bạn
  2. Xóa thư mục Pods trong thư mục dự án của bạn
  3. Thực hiện 'cài đặt pod' trong thư mục dự án của bạn
  4. Thực hiện "Làm sạch" trong Xcode
  5. Xây dựng lại dự án của bạn

2
Cảm ơn bạn rất nhiều. Bạn làm cho ngày của tôi. Không có gì khác làm việc trong dự án Flutter của tôi.
nbloqs

Đây là giải pháp duy nhất làm việc cho tôi là tốt. Xóa Podfile.lock. Được cảnh báo rằng bạn có thể nhận được một số nâng cấp phiên bản không mong muốn khi thực hiện việc này.
santamanno

cho flutter: chạy pod installtrong flutter_project / ios của bạn
Kirill Karmazin

5

Trong trường hợp của tôi, tôi đã gặp lỗi tương tự sau khi tích hợp ứng dụng WatchKit. Để giải quyết vấn đề, tôi cần thêm cả hai mục tiêu của WatchKit trong Podfile:

target 'MyProject WatchKit App' do
    platform :watchos, '2.0'
    shared_pods
end

target 'MyProject WatchKit App Extension' do
    platform :watchos, '2.0'
    shared_pods
end

PS: Có lẽ điều này xảy ra với tôi vì tôi đã cài đặt các pod sai cho MyProject WatchKit Appmục tiêu ban đầu.


Tôi nghĩ rằng bạn đã bắn đinh vào đầu;)
Hackmodford

4

Tôi tìm thấy giải pháp của mình: Chạy: pod updatethay vì pod install. Lỗi đã được sửa!


Tốt. Điều này sẽ cập nhật các nhóm lỗi thời, vì vậy hãy chắc chắn rằng đó là những gì bạn muốn.
ff10

4
  • Chuyển đến Giai đoạn xây dựng -> Kiểm tra Pods Manifest.lock
  • Thay thế
${PODS_ROOT}/Manifest.lock

với:

${SRCROOT}/Podfile.lock" "${SRCROOT}/Pods/Manifest.lock

Kiểm tra hình ảnh:

nhập mô tả hình ảnh ở đây


Điều này làm việc cho tôi trong bản dựng Cordova iOS, trong khi câu trả lời được chấp nhận không hoạt động.
Bastian Blankenburg

3

Tôi gặp phải vấn đề này với tệp xcconfig bị định cấu hình sai.

Xcconfig do Pods tạo không chính xác #incoled trong xcconfig tùy chỉnh mà tôi đang sử dụng. Điều này khiến $ PODS_ROOT không được đặt dẫn đến sự thất bại của diff "/../Podfile.lock" "/Manifest.lock", vì những lý do rõ ràng, khiến Pods hiểu sai là vấn đề đồng bộ hóa.


3

Đối với tôi, vấn đề là tôi đã tạo một mục tiêu mới trong ứng dụng của mình bằng cách sao chép một mục tiêu hiện có, nhưng quên thêm mục tiêu vào Podfile. Vì một số lý do, mục tiêu nhân bản đã hoạt động trong nhiều ngày mà không gặp vấn đề gì, nhưng sau một thời gian nó không thể xây dựng được do lỗi này. Tôi đã phải tạo một mục tiêu mới cho mục tiêu dự án nhân bản của mình trong Podfile sau đó chạy pod install.


2

Nếu bạn tải xuống dự án từ github hoặc sao chép từ nơi khác, thì thư viện phụ thuộc không tồn tại, sẽ có vấn đề này.

Bạn chỉ cần cdvào project/project_name directorytrong nhà ga, sử dụng lsđể kiểm tra xem có một Podfiletập tin.

Nếu có tồn tại Podfile, bạn chỉ cần cài đặt các phụ thuộc:

pod install

Cảm ơn - điều này thực sự đã giúp tôi rất nhiều khi tôi đang chạy các ví dụ rung được tải xuống từ trang web github của họ và tôi đã nhận được lỗi tương tự. Tôi đã điều hướng đến thư mục ios cho mỗi thư mục ví dụ rung và thực hiện cài đặt pod và sau đó ứng dụng rung hoạt động.
Simon

rất vui được giúp bạn
máy bay

2

Tôi đã thử mọi cách, nhưng vấn đề vẫn tồn tại. Sau đó tôi đã làm điều này và nó hoạt động càng sớm càng tốt (càng mượt càng tốt).

  1. Mở tệp .xcworkspace.
  2. Thay đổi hệ thống xây dựng cũ nếu sử dụng Cordova trên Xcode 10.
  3. Chuyển đến mục tiêu / dự án của Podfile. Chọn triển khai traget là 11+
  4. Sau đó Thay đổi gỡ lỗi và phát hành thành Pods-.build/release. Đó là App.debug / phát hành trong trường hợp của tôi.Pic đính kèm. Hy vọng nó giúp. Thay đổi bản phát hành gỡ lỗi trong Pod

2

Câu trả lời làm việc của tôi là:

  1. Cài đặt cập nhật cocoapods của bạn bằng lệnh này: pod update
  2. Cài đặt pod mới của bạn bằng lệnh này. cài đặt pod
  3. Lệnh cuối cùng: sudo gem cài đặt cocoapods.

2

Hoàn toàn không có gì làm việc cho tôi từ những câu trả lời. Phải tạo lại dự án bằng cách chạy cordova platform add ios. Những gì tôi đã nhận thấy, ngay cả dự án mới được tạo với (trong trường hợp của tôi) các nhóm Firebase đã gây ra thông báo lỗi lặp đi lặp lại. Theo ý kiến ​​của tôi, nó trông giống như một lỗi đối với một số nhóm (Firebase, RestKit) trong Xcodehoặc CocoaPods. Để có các nhóm bao gồm, tôi chỉ cần chỉnh sửa config.xmlvà chạy cordova platform add iOS, nó đã tự động làm mọi thứ cho tôi. Không chắc chắn nếu nó sẽ làm việc trong tất cả các kịch bản mặc dù.

Chỉnh sửa: Tôi đã có một Podfiletừ trước iOS/ Xcode, nhưng mới đến ngày hôm nay có # DO NOT MODIFY -- auto-generated by Apache Cordovatrong Podfile. Điều này bật đèn trong đầu tôi để thử cách tiếp cận. Nhìn có vẻ hơi tầm thường, nhưng hoạt động và Firebasecác tính năng của tôi đã hoạt động.


1
Đây là phương pháp duy nhất làm việc cho tôi. Đã thử tất cả những người khác. Tôi đã xóa các nền tảng và thực hiện cài đặt lại 'nền tảng cordova thêm ios'. Tôi cũng nghĩ rằng tôi đã có một nền tảng / ios trước đây mà tôi đã sử dụng trên phiên bản xcode trước đó.
Heath

1

Điều này làm cho ngày của tôi!

  1. Xóa tệp Podfile.lock trong thư mục dự án của bạn
  2. Xóa thư mục Pods trong thư mục dự án của bạn
  3. Thực thi cài đặt pod trong thư mục dự án của bạn
  4. Thực hiện "Làm sạch" trong Xcode
  5. Xây dựng lại dự án của bạn

Tôi chấp nhận tin nhắn này! Ngoài ra nếu bạn đang sử dụng Flutter đừng quênflutter pub get
Kirill Karmazin

1

Khi bạn làm

pod install --verbose

bảo đảm:

1- bạn đang ở trong thư mục chính xác. Hầu hết các lần, khi một dự án github được tải xuống, sẽ có một thư mục chính. Bạn cần phải ở trong thư mục tên dự án thực tế (thư mục masterfolder / dự án) trong thiết bị đầu cuối trước khi bạn gọi pod install --verbose

2- Xóa thư mục khóa pod cũ sau đó làm sạch dự án bằng xcode clean & do pod install.

3- Giữ rvm của bạn cập nhật.


1

Vấn đề của tôi là phiên bản vỏ ca cao nên tôi đã cài đặt mới nhất với: sudo gem install cocoapods --pre Sau đópod update

Điều đó làm việc cho tôi


1

Các bước làm việc cho tôi ( XCode 8.3.3/XCode 9 beta with a Swift 3.1 project)

 - Navigate to your project directory
 - pod install //which then asks you to do the next step
 - pod repo update //takes a while to update the repo
 - pod update
 - pod install
 - Close Xcode session
 - Open and Clean the project
 - Build/Run

Ngoài ra make sure you open the .xcworkspace file rather than the project file (.xcodeproj) when working with pods. Điều đó sẽ giải quyết bất kỳ lỗi nào khi liên kết, chẳng hạn như "Lệnh Apple Mach -O Linker không thành công"


1

Nếu bạn đang áp dụng cách Project Cleanup và dự án của bạn vẫn bị lỗi.

Bạn có thể chuyển đến tab Build Ph Phase rồi Tìm Check Pods Manifest.lockvà xóa tập lệnh.

Sau đó gõ lệnh để xóa thư mục Podsnhư thếrm -rf Pods

và sau đó bạn cần xóa Podfile.lock bằng lệnh rm Podfile.lock

Có lẽ, dựa trên một tình huống bạn có thể xóa tệp your_project_name.xcworkspace

Cuối cùng, bạn cần lệnh để cài đặt Pod pod install --repo-update.

Hy vọng, giải pháp này đến với bạn. Chúc mừng mã hóa :)


1

Tôi đã có lỗi tương tự. Đầu tiên tôi cập nhật cocoapods bằng

sudo gem install cocoapods

sau đó cài đặt pod bằng lệnh cài đặt Pod làm việc cho tôi.


1

Vui lòng thực hiện các bước sau:

1: Xóa tệp Podfile.lock trong thư mục dự án của bạn

2: Xóa thư mục Pods trong thư mục dự án của bạn

3: Thực thi 'cài đặt pod' trong thư mục dự án của bạn

4: Thực hiện "Làm sạch" trong Xcode

5: Xây dựng lại dự án của bạn


1

Đối với tôi, làm việc trong rung, cấu hình không được tự động thêm do cấu hình hiện có.

Thêm #include "Pods/Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"vào Flutter/Release.xcconfigFlutter/Debug.xcconfig

giải quyết vấn đề.


1

Chạy cái này và lỗi của bạn sẽ biến mất

rm -rf Pods && gem install cocoapods && pod install


1

Tôi đã đối mặt với vấn đề này trong một dự án Flutter. Tôi vừa mở Mô-đun iOS trong xCode và Build Clean Directory hoạt động với tôi.


1

Cố gắng thiết lập đúng mục tiêu Podfilevà sau đó chạy pod updatehoặcpod install

mục tiêu nền tảng ios


1

Tôi có cùng một vấn đề với Ionic-3, tôi đã thực hiện một số bước nêu trên nhưng không ai trong số chúng làm việc cho tôi.

Dành cho Ionic Xóa nền tảng ios

$ ionic cordova platform remove ios
$ ionic cordova platform add ios

Mở xcode rồi thử xây dựng. điều này làm việc cho tôi :-)


1

Đã khắc phục sự cố của tôi với ứng dụng ion bằng cách cài đặt cordova phiên bản 9, đã thử tất cả các giải pháp trên hầu hết được liên kết với xcode không hoạt động cho ứng dụng ion của tôi

Nếu bất cứ ai gặp vấn đề tương tự với ứng dụng cordova của họ, vui lòng cập nhật lên cordova 9 để khắc phục điều này


0

nếu vỏ của bạn trống

  1. loại bỏ tài nguyên nhóm sao chép và kiểm tra bảng kê khai nhóm.
  2. khóa từ cài đặt giai đoạn xây dựng của dự án của bạn
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.