使用cocoapods安装RestKit后,我遇到了一个奇怪的问题。 在使用cocoapods为我的项目解析RestKit依赖项并尝试构建它之后,我遇到了这个错误:
沙箱与Podfile.lock不同步。运行'pod install'或更新CocoaPods安装。
我尝试了pod install
,但没有改变。
以下是一些镜头:
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
答案 0 :(得分:275)
我能够通过更新CocoaPods来解决这个问题。
pod install
答案 1 :(得分:81)
经过多次尝试后,我设法解决了这个问题。变量$ {PODS_ROOT}未设置,我在下面进行操作。 转到构建阶段 - >检查Pods Manifest.lock并替换
diff "${PODS_ROOT}/../Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null
到
diff "${SRCROOT}/Podfile.lock" "${SRCROOT}/Pods/Manifest.lock" > /dev/null
它帮助了我。
答案 2 :(得分:43)
如果从Podfile中删除目标中的所有pod,例如
target 'myTarget' do
pod 'great-stuff', '~> 4.0' // you deleted this last pod
end
您需要从Xcode目标构建阶段手动删除这些构建步骤:
当您运行pod install
时,Cocoapods(当前稳定版本0.37.2)不会执行此清理。
答案 3 :(得分:20)
从项目中删除pod并重新安装对我有效。
有很好的GitHub repository可以完全删除项目中的pod。
只需保留PodFile的备份并运行命令。
清洁并运行。
答案 4 :(得分:12)
更改目标名称后
我的问题是带有旧目标名称的xcconfig。
它会更新为新的。
此外,如果您丢失了.h文件,那就是原因(pods标题搜索路径位于这些xcconfig中)
答案 5 :(得分:8)
我一直在搜索几个小时,发现以下解决方案:
在我的情况下,方法1有效。
方法1:
打开终端>直接转到您的项目>运行:
pod install
清理并构建项目
方法2:
打开终端>直接转到您的项目>运行:
pod deintegrate --verbose
pod install --verbose
方法3:
添加2个用户定义的设置:[左侧=右侧]
PODS_ROOT = ${SRCROOT}/Pods
和
PODS_PODFILE_DIR_PATH = ${SRCROOT}/
答案 6 :(得分:5)
如果您看到如下错误:
diff:/../Podfile.lock:没有这样的文件或目录 diff:/Manifest.lock:没有这样的文件或目录 错误:沙箱与Podfile.lock不同步。运行&#pod; pod install'或者更新你的CocoaPods安装。
然后您的项目中有Cocoapods的问题。有时cocoapods可能会失去同步,你需要重新启动cocoapods。您应该能够通过以下方式解决此错误:
答案 7 :(得分:5)
在我的情况下,我在集成WatchKit应用程序后遇到了同样的错误。要解决问题,我需要在Podfile中添加WatchKit的两个目标:
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:也许这件事发生在我身上,因为我最初错误地为MyProject WatchKit App
目标安装了pod。
答案 8 :(得分:3)
${PODS_ROOT}/Manifest.lock
具有:
${SRCROOT}/Podfile.lock" "${SRCROOT}/Pods/Manifest.lock
签入图片:
答案 9 :(得分:3)
我找到了我的解决方案:运行:pod update
而不是pod install
。错误已得到修复!
答案 10 :(得分:3)
对我来说问题是我通过复制现有目标在我的应用中创建了一个新目标,但忘记将目标添加到Podfile
。出于某种原因,克隆的目标确实工作了好几天没有问题,但过了一段时间后,它无法通过此错误构建。我必须在Podfile中为克隆的项目目标创建一个新的目标条目,然后运行pod install
。
答案 11 :(得分:3)
我在配置错误的xcconfig文件时遇到了这个问题。
在我使用的自定义xcconfig中,Pods生成的xcconfig未正确#included。这导致$ PODS_ROOT未被设置导致diff "/../Podfile.lock" "/Manifest.lock"
失败,原因显而易见,Pod将其误解为同步问题。
答案 12 :(得分:2)
我尝试了一切,但问题仍然存在。 之后,我执行了此操作,并尽快运行(尽可能平滑)。
答案 13 :(得分:2)
如果从github下载项目或从其他地方复制,那么依赖库不存在,就会出现这个问题。
您只需要cd
到终端中的project/project_name directory
,使用ls
检查是否有Podfile
个文件。
如果存在Podfile
,则只需安装依赖项:
pod install
答案 14 :(得分:2)
从这些答案中完全没有任何结果对我有用。必须通过运行<template>
<v-row>
<v-dialog v-model="dialog" max-width="600px">
<template v-slot:activator="{ on }">
<v-btn class="ma-3" color="info" v-on="on">{{ text }}</v-btn>
</template>
<slot></slot>
</v-dialog>
</v-row>
</template>
重新创建项目。我注意到的是,即使是重新生成的(带有我的情况)Firebase Pod的项目也一遍又一遍地导致错误消息。在我看来,cordova platform add ios
或Xcode
中的某些(Firebase,RestKit)吊舱似乎是一个错误。要包含Pod,我只需编辑CocoaPods
并运行config.xml
,它就会自动为我完成所有工作。不确定是否可以在所有情况下使用。
编辑:我有一个cordova platform add iOS
/ Podfile
上的iOS
,但最新的Xcode
位于{{ 1}}。这打开了我的脑海,尝试了这种方法。看起来有点琐碎,但可以正常使用,并且可以完成我的# DO NOT MODIFY -- auto-generated by Apache Cordova
功能。
答案 15 :(得分:1)
我在Flutter项目中遇到了这个问题。我刚刚在xCode中打开了iOS模块,并且Build Clean Folder对我有用。
答案 16 :(得分:1)
对我来说,由于工作繁忙,该配置由于现有配置而没有自动添加。
将Flutter/Release.xcconfig
添加到Flutter/Debug.xcconfig
和import pandas as pd
from pandas import ExcelWriter
from pandas import ExcelFile
import os.path as op
from openpyxl import workbook
import re
def extract_export_columns(df, list_of_columns, file_path):
column_df = df[list_of_columns]
column_df.to_csv(file_path, index=False, sep="|")
#Orrginal file
input_base_path = 'C:/Users/somedoc input'
main_df_data_file = pd.read_csv(op.join (input_base_path, 'som_excel_doc.csv '))
#Filter for tailnumbers
tail_numbers = main_df_data_file['abcde'] <= 30
main_df_data_file[tail_abcd]
#iterate over list
#number_filter = main_df_data_file.Updated.isin(["15"])
#main_df_data_file[number_filter]
#print(number_filter)
#for row in main_df_data_file.values:
#for value in row:
# print(value)
#print(row)
# to check the condition
# Product of code
output_base_path = r'C:\Users\some_doc output'
extract_export_columns(main_df_data_file,
['Updated 28 Feb 18 Tail #'],
op.join(output_base_path, 'UBC_example3.txt'))
解决了问题。
答案 17 :(得分:1)
我的问题是可可豆荚版本所以我安装了最新的:
sudo gem install cocoapods --pre
然后pod update
这对我有用
答案 18 :(得分:1)
对我有用的步骤(cronjob
)
cronjob
同样 XCode 8.3.3/XCode 9 beta with a Swift 3.1 project
。这应解决链接中的任何错误,例如“Apple Mach -O Linker命令失败”
答案 19 :(得分:1)
如果您申请项目清理的方式,您的项目仍然出错。
您可以转到构建阶段,然后找到Check Pods Manifest.lock
并删除脚本。
然后键入命令以删除Pods
rm -rf Pods
然后你需要通过命令rm Podfile.lock
根据情况,您可以删除文件your_project_name.xcworkspace
最后,您需要命令来安装Pod pod install --repo-update
。
希望这个解决方案适合你。快乐编码:)
答案 20 :(得分:1)
当你这样做时
pod install --verbose
确保:
1-您在正确的目录中。大多数情况下,当下载github项目时,会有一个主文件夹。在调用pod install之前,您需要位于终端中的实际项目名称文件夹(masterfolder / project文件夹)中--verbose
2-删除旧的pod lock文件夹,然后使用xcode clean&amp; amp;清除项目。做pod安装。
3-保持您的rvm更新。
答案 21 :(得分:1)
我在Ionic-3上遇到了同样的问题,我做了一些上述步骤,但没有一个对我有用。
对于离子 删除ios平台
$ ionic cordova platform remove ios
$ ionic cordova platform add ios
打开xcode,然后尝试构建。 这对我有用:-)
答案 22 :(得分:1)
通过安装Cordova版本9修复了离子应用程序的问题,尝试了上述所有与xcode链接的解决方案,但均不适用于我的离子应用程序
如果有人在Cordova应用程序中遇到相同问题,请更新至Cordova 9以解决此问题
答案 23 :(得分:0)
如果您使用 Windows 进行 Git 检出,并且 Podfile.lock 是使用 Windows (CRLF) 行结尾创建的,也会发生这种情况。
答案 24 :(得分:0)
答案 25 :(得分:0)
答案 26 :(得分:0)
添加新的开发者帐户时出现此错误。我更改了项目名称下的Team
,但是错过了Pods
文件夹下的更新。
我在Pods-> Signing -> Team
下可用的“团队”选项下更新了新的开发人员ID后,便解决了该错误,并且构建成功。
答案 27 :(得分:0)
首先您必须了解 Podfile.lock
是什么,然后了解 Manifest.lock
是什么以及它在何处使用。
Podfile
包含您拥有的每个依赖项的(optimistic 或确切)版本。锁定文件只保存确切的版本。
执行 pod install
后,所有 pod 都会下载/安装到 /pods
目录中。您可能想提交它们,也可能不想提交。这取决于你的团队。不由您的团队决定是否应该提交 Podfile.lock
。这需要承诺,以便团队中的每个开发人员都可以确保他们拥有完全相同的版本。
Podfile
和 Podfile.lock
。pod install
。 CocoaPods 只是添加了一个安全检查,以确保您和您的所有其他团队成员都使用相同版本的所有内容。这就是 Manifest.lock
发挥作用的地方。 Manifest.lock
是您本地机器的锁。它必须与存储库中最后一次提交(导致 Pod 发生更改)生成的 Podfile.lock
匹配。如果它不匹配,那么事情就搞砸了。
关于 Manifest.lock 文件是什么的文档:
# Manifest.lock: A file contained in the Pods folder that keeps track of
# the pods installed in the local machine. This files is used once the
# exact versions of the Pods has been computed to detect if that version
# is already installed. This file is not intended to be kept under source
# control and is a copy of the Podfile.lock.
老实说,我只能想到 Manifest.lock
和 Podfile.lock
不同步的一种情况:
我的意思是,如果您从主分支拉取,那么您将获得主分支的 Podfile
和锁定文件。如果您随后对 Podfile
进行更改,然后运行 pod install
,那么您将更新 Podfile.lock
和 Manifest.lock
并使它们保持同步。没有这个问题
这只是为了如果:
/Pods
目录Podfile
或 Podfile.lock
中存在合并冲突,但没有意识到。或者你没有同时提交 Podfile
和 Podfile.lock
Podfile
和 Podfile.lock
,那么您的项目自然可以成功构建。该脚本已记录here
# Adds a shell script build phase responsible for checking if the Pods
# locked in the Pods/Manifest.lock file are in sync with the Pods defined
# in the Podfile.lock.
#
# @note The build phase is appended to the front because to fail fast.
#
# @return [void]
这些行的作用是:执行 diff
并确保您的 Manifest.lock
即所有已安装 pod 版本的 本地 快照等于 Podfile.lock
即您的存储库所有已安装 pod 版本的当前快照。
修复方法可能非常简单,只需确保 Podfile
是您想要的。然后只需运行 pod install
。您还以某种方式意外更改了 Manifest.lock
目录中的 /Pods
(或者如前所述,可能只提交了锁定文件而不是 Podfile
,反之亦然)。删除 /Pods
目录不会造成危害。之后做一个pod install
。除非您想要,否则不要执行 pod update
。
只要确保您永远删除Podfile.lock
,否则如果您执行pod install
,它会将所有依赖项更新到它可以的最新版本.
查看和此 video 锁定文件、CocoaPods docs 锁定文件如何在 pod 安装与 pod 更新中使用不同以及最后查看所有这些逻辑如何使用也很有帮助更多详情 this artsy blog on checksums。值得注意的是,单个空间将创建一个新的校验和,并可能使事情不同步。
答案 28 :(得分:0)
就我而言,此问题是由损坏的 *.xcworkspace
文件引起的。它在左侧的 Project Navigator 菜单中显示了我项目的两个不同版本。
为了验证,我从位于 > /dev/null
的 bash 脚本中删除了输出重定向 (Build Phases > Check Pods Manifest.lock
),以便它将差异打印到 STDOUT。果然,阅读构建日志,我得到了截然不同的 Podfile.lock 和 Manifest.lock 输出。
为了修复它,我删除了我的 *.xcworkspace
,然后再次从我的 pod install
文件夹中运行 ios
。这会自动重新生成工作区文件。在 XCode 中打开那个新文件,瞧,没有更多的构建错误。
答案 29 :(得分:0)
对我来说,这是 Ruby 版本号的问题。
我收到错误:
The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.
在尝试了一百万件事之后,包括这个线程中包含的大部分内容,我最终破解了位于以下位置的 pod 文件:usr/local/bin/pod
我更正了第一行以指向我的机器上实际存在的 ruby 版本。我改了:
#!/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/ruby
到
#!/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
经过几天的挣扎,将 3 改为 6 解决了所有问题。
答案 30 :(得分:0)
这些简单的步骤对我有用:
pod install --repo-update
答案 31 :(得分:0)
我尝试了pod install
的各种组合,删除node_modules
并重新安装,清理和重建xcode项目,甚至重新启动我的电脑。这些都不适合我...
我的修复是在我的项目的根目录中运行 pod --version
。我不知道如何或为什么,但这成功安装了一个缺少的依赖项,所以我想我会在这里分享它,以防它对其他人有帮助:)
答案 32 :(得分:0)
答案 33 :(得分:0)
答案 34 :(得分:0)
我有同样的错误。首先,我使用
更新cocoapodssudo gem install cocoapods
然后使用Pod install命令为我安装pod。
答案 35 :(得分:0)
如果你的豆荚是空的
答案 36 :(得分:0)
我的问题是当我的开发人员在项目中添加了一个pod然后我使用github拉出项目然后发生了错误。我运行了pod安装,并使用由我的开发人员添加的新库更新了pod。希望它有所帮助。
答案 37 :(得分:0)
这是我的一天!
答案 38 :(得分:0)
我对最新的ComponentKit 0.14有同样的问题。 原因是PODS_ROOT没有设置,我发现解决方案是在ComponentKit.xcconfig中添加一行:
#include "../Pods/Target Support Files/Pods-ComponentKit/Pods-ComponentKit.debug.xcconfig"
答案 39 :(得分:0)
检查您的项目中可能没有将Pod推送到Git。很明显,编译会因为无法找到Pods目录而中断
diff "${PODS_ROOT}/../../Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null
我在导航到项目目录后在终端中发出pod install
解决了这个问题。
确实,我遇到了错误cannot find pod command
,这意味着未安装cocoapods
。这是通过gem install cocoapods
修复的。如果出现任何依赖性错误,只需安装报告丢失的每个命令。在我的情况下,我必须更新Ruby,然后正确安装cocoapods
并且我能够使用命令pod install
。
PS。如果您有Pods目录,请尝试pod update
。也许您的图书馆需要更新。
答案 40 :(得分:0)
@Michal的回答帮助了我
答案 41 :(得分:0)
我意外删除了然后从我尝试安装pod的文件夹中解压缩文件夹 就像这样: 1)cd在你的项目文件夹中 2)压缩你的项目 3)删除项目文件夹 4)解压缩文件夹 5)从现在开始,即使你有这个文件夹,你也应该从终端再次访问这个文件夹
答案 42 :(得分:0)
我有错误:
diff:/../Podfile.lock:没有这样的文件或目录diff:/Manifest.lock:没有这样的文件或目录错误:沙箱与Podfile.lock不同步。
我第一次从bitbucket请求了。我清理了我的项目并尝试了一切(pod安装,pod更新等),但上述答案都没有对我有用。然后我只检查我安装pod的路径并更正它并再次安装,它只是工作。确保在.xcodeproj或.xcworkspace(如果已经存在)之前提供路径。也许有人会从中受益。
答案 43 :(得分:0)
运行此命令,错误将消失
rm -rf Pods && gem install cocoapods && pod install
答案 44 :(得分:0)
请执行以下步骤:
1:删除项目文件夹中的Podfile.lock文件
2:删除项目文件夹中的Pods文件夹
3:在项目文件夹中执行“ pod安装”
4:用Xcode进行“清理”
5:重建项目
答案 45 :(得分:0)
我使用捆绑软件中的可可豆荚安装。
bundle install
bundle exec pod install
如果您不知道其中一个步骤的操作方法,则在Google上搜索会有所帮助:)
答案 46 :(得分:0)
pod deintegrate <PROJECT>.XCODEPROJ // will deintegrate cocoapods
pod install // installs the pods
答案 47 :(得分:0)
我有同样的问题 我将所有内容更新为最新 从: npm -v 6.4.1 节点-v v10.2.1 pod-版本1.5.3
至: npm -v 6.5.0 节点-v v11.8.0 pod-版本1.6.0
并修复它
答案 48 :(得分:0)
我的工作答案是:
答案 49 :(得分:-1)
我在上面混了一些评论,就解决了我的问题
I。项目清理
Build Phases > Link Binary With Libraries
中的所有Menu Bar → Product → Product -> Clean build Folder
II。清理构建文件夹
在XCode中:pod update
III。更新鱼腥藻
运行if (std::set{x,y} == std::set{1,2})
{
return 1;
}
答案 50 :(得分:-1)
您需要在自定义的xcconfig中包含Pods生成的xcconfig路径。对我来说,这是由于错误配置的xcconfig文件。