在终端的 Podfile 上使用 Pod Install 命令时出错

Posted

技术标签:

【中文标题】在终端的 Podfile 上使用 Pod Install 命令时出错【英文标题】:Error using Pod Install command on Podfile in Terminal 【发布时间】:2015-08-05 12:28:29 【问题描述】:

我已经安装了 Cocoapods,并使用 Atom 创建了一个包含以下行的 Podfile:

pod ‘Parse’, ‘~> 1.7.1′
pod ‘ParseUI’, ‘~> 1.1.3′

将此文件放入我的 Xcode 项目根目录,并在终端中运行“pod install”。如下所示:

[!] 您的 Podfile 已对智能引号进行了清理。为了避免出现问题 将来,您不应该使用 TextEdit 来编辑它。如果你不是 使用 TextEdit,你应该在你的编辑器中关闭智能引号 选择。

/Library/Ruby/Gems/2.0.0/gems/cocoapods-core-0.38.2/lib/cocoapods-core/standard_error.rb:87:in `message': incompatible character encodings: ASCII-8BIT and UTF-8 (Encoding::CompatibilityError)
    from /Library/Ruby/Gems/2.0.0/gems/claide-0.9.1/lib/claide/command.rb:367:in `handle_exception'
    from /Library/Ruby/Gems/2.0.0/gems/claide-0.9.1/lib/claide/command.rb:315:in `rescue in run'
    from /Library/Ruby/Gems/2.0.0/gems/claide-0.9.1/lib/claide/command.rb:303:in `run'
    from /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.38.2/lib/cocoapods/command.rb:48:in `run'
    from /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.38.2/bin/pod:44:in `<top (required)>'
    from /usr/bin/pod:23:in `load'
    from /usr/bin/pod:23:in `<main>'

我不确定我做错了什么,如果有人能给我一些建议,我将不胜感激。谢谢。

【问题讨论】:

【参考方案1】:

你不应该使用 TextEdit 来编辑 pod 文件,因为 TextEdit 喜欢 用更具图形吸引力的报价替换标准报价。 这会导致 CocoaPods 混淆并显示错误,所以它是 最好只使用 Xcode 或其他编程文本编辑器。

文本编辑:

使用TextEdit会给你以下,

pod ‘Parse’, ‘~> 1.7.1′    //notice the quotes

要在 TextEdit 中关闭智能引号,请转到

TextEdit > Preferences > New Document > Options

Xcode:

要获得正确的报价,您应该在打开 Podfie 时使用 Xcode:

pod 'Parse', '~> 1.7.1'

使用 Xcode 应用程序打开的终端命令:

$ touch Podfile  //OR $ cd <parentDirectory of Podfile>
$ open -a Xcode Podfile

【讨论】:

'如果你不使用 TextEdit,你应该在你选择的编辑器中关闭智能引号。'如何做到这一点? @abhi1992 您使用的是哪个编辑器?检查您正在使用的文本编辑器的首选项。如果您使用的是 TextEdit,请查看更新后的答案。 奇怪的是没有人回答@Honey 的简单问题。 TextEdit 是 MacOS 的默认文本编辑器应用,相当于 Windows 上的记事本。【参考方案2】:

我遇到了这个问题,因为在 podfile 的评论中使用了一个智能引号。我有一段时间在我的 podfile 中找不到智能引用。智能引号有两个符号:' 和 '。确保两者都从整个 podfile 中删除。

    # Espressif’s ESP-TOUCH protocol implements Smart Config ...

【讨论】:

【参考方案3】:

如果有人使用 Jenkins CI,并且在更正 Podfile 后,错误也无法解决。在您的奴隶上更新您的 cocoapods 版本可以帮助解决此错误。由于 jenkins 无法查明问题并给出此一般错误。

【讨论】:

以上是关于在终端的 Podfile 上使用 Pod Install 命令时出错的主要内容,如果未能解决你的问题,请参考以下文章

第三方框架

处理 Podfile 的安装后挂钩时出错。无法在 iOS 模拟器上运行颤振项目得到 pod 错误

CocoaPods 找不到 pod“FirebaseCore”的兼容版本:在快照中 (Podfile.lock)

项目添加pod管理以及创建本地私有库

“sudo pod install”错误

pod install 失败并出现错误:在 iOS 中安装 pod 时 `Podfile` 需要 Library (from `../`)`