用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
我能够通过更新CocoaPods来解决这个问题。
pod install
更新CocoaPods对我来说问题是我通过复制现有的目标在我的应用程序中创建了一个新目标,但忘记将目标添加到Podfile
。出于某种原因,克隆的目标确实工作了好几天没有问题,但过了一段时间后,它无法通过此错误构建。我必须在Podfile中为克隆的项目目标创建一个新的目标条目,然后运行pod install
。
我找到了我的解决方案:运行:pod update
而不是pod install
。错误是固定的!
如果从github下载项目或从其他地方复制,那么依赖库不存在,就会出现这个问题。
你只需要cd
到终端的project/project_name directory
,使用ls
检查是否有Podfile
文件。
如果存在Podfile
,您只需要安装依赖项:
pod install
当你这样做
pod install --verbose
确保:
1-您在正确的目录中。大多数情况下,当下载github项目时,会有一个主文件夹。在调用pod install之前,您需要位于终端中的实际项目名称文件夹(masterfolder / project文件夹)中--verbose
2-删除旧的pod lock文件夹,然后使用xcode clean&do pod install清理项目。
3-保持您的rvm更新。
我的问题是可可豆荚版本,所以我安装了最新的:sudo gem install cocoapods --pre
然后pod update
这对我有用
对我有用的步骤(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
还有make sure you open the .xcworkspace file rather than the project file (.xcodeproj) when working with pods
。这应该解决任何链接错误,如“Apple Mach -O Linker命令失败”
如果您正在申请Project Cleanup并且您的项目仍然出错。
您可以转到Build Phases选项卡,然后查找Check Pods Manifest.lock
并删除脚本。
然后键入命令以删除文件夹Pods
,就像rm -rf Pods
一样
然后你需要通过命令rm Podfile.lock
删除Podfile.lock
可能,根据情况你可以删除文件your_project_name.xcworkspace
最后,您需要命令来安装Pod pod install --repo-update
。
希望这个解决方案能够满足您的需求。快乐编码:)
对我来说,在颤振的情况下,由于现有配置,配置不会自动添加。
将#include "Pods/Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"
添加到Flutter/Release.xcconfig
和Flutter/Debug.xcconfig
解决了这个问题。
如果你的豆荚是空的
经过多次尝试,我设法解决了这个问题。变量$ {PODS_ROOT}未设置,我在下面进行操作。转到Build Phases - > Check Pods Manifest.lock并替换
diff "${PODS_ROOT}/../Podfile.lock" "${PODS_ROOT}/Manifest.lock" > /dev/null
至
diff "${SRCROOT}/Podfile.lock" "${SRCROOT}/Pods/Manifest.lock" > /dev/null
它帮助到我。
我的问题是当我的开发人员在项目中添加了一个pod然后我使用github拉出项目然后发生了错误。我运行了pod安装,并使用由我的开发人员添加的新库更新了pod。希望能帮助到你。
这让我很快乐!
我对最新的ComponentKit 0.14有同样的问题。原因是没有设置PODS_ROOT,我发现解决方案是在ComponentKit.xcconfig中添加一行:
#include "../Pods/Target Support Files/Pods-ComponentKit/Pods-ComponentKit.debug.xcconfig"
检查您的项目中可能没有将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
。也许您的图书馆需要更新。
我不小心删除了然后从我试图安装pod的地方解压缩文件夹。 它是这样的:1)在您的项目文件夹中的CD 2)压缩您的项目3)删除项目文件夹4)解压缩文件夹5)从现在起即使你有这个文件夹你应该从终端再次到这个文件夹
我有错误:
diff:/../Podfile.lock:没有这样的文件或目录diff:/Manifest.lock:没有这样的文件或目录错误:沙箱与Podfile.lock不同步。
我第一次从bitbucket请求了。我清理了我的项目并尝试了一切(pod安装,pod更新等),但上述答案都没有对我有用。然后我只检查我安装pod的路径并更正它并再次安装,它只是工作。确保在.xcodeproj或.xcworkspace(如果已经存在)之前提供路径。也许有人会从中受益。
我有同样的错误。首先,我使用更新cocoapods
sudo gem install cocoapods
然后使用Pod安装命令安装pod为我工作。
请执行以下步骤:
1:删除项目文件夹中的Podfile.lock文件
2:删除项目文件夹中的Pods文件夹
3:在项目文件夹中执行“pod install”
4:在Xcode中执行“清理”
5:重建你的项目
我使用捆绑中的可可豆荚安装。
bundle install
bundle exec pod install
如果你不知道其中一个步骤的方法,在谷歌搜索将有助于:)
如果从Podfile中删除目标中的所有pod,例如
target 'myTarget' do
pod 'great-stuff', '~> 4.0' // you deleted this last pod
end
您需要从Xcode目标构建阶段手动删除这些构建步骤:
运行pod install
时,Cocoapods(当前稳定版本0.37.2)不执行此清理。
pod deintegrate <PROJECT>.XCODEPROJ // will deintegrate cocoapods
pod install // installs the pods
从项目中删除pod并重新安装对我有用。
有很好的GitHub repository可以完全删除项目中的豆荚。
只需保留PodFile的备份并运行以下命令即可。
清洁并运行。
更改目标名称后
我的问题是带有旧目标名称的xcconfig。
它将更新为新的。
此外,如果您丢失了.h文件,那就是原因(pods标题搜索路径在这些xcconfig中)
我一直在寻找几个小时,我找到了如下解决方案:
就我而言,方法1可行。
方法1:
pod install
方法2:
pod deintegrate --verbose
pod install --verbose
方法3:
PODS_ROOT = ${SRCROOT}/Pods
和
PODS_PODFILE_DIR_PATH = ${SRCROOT}/
在我的情况下,我在集成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
目标安装了吊舱。
如果您看到如下错误:
diff:/../Podfile.lock:没有这样的文件或目录diff:/Manifest.lock:没有这样的文件或目录错误:沙箱与Podfile.lock不同步。运行“pod install”或更新CocoaPods安装。
然后在你的项目中有Cocoapods的问题。有时cocoapods可能会失去同步,你需要重新启动cocoapods。您应该能够通过以下方式解决此错误:
我在配置错误的xcconfig文件时遇到了这个问题。
在我使用的自定义xcconfig中,Pods生成的xcconfig未正确#included。这导致$ PODS_ROOT没有设置导致diff "/../Podfile.lock" "/Manifest.lock"
失败,原因显而易见,Pods误解为同步问题。