iOS - CocoaPods 要求您的终端使用 UTF-8 编码 - 在最新的颤振升级之后

Posted

技术标签:

【中文标题】iOS - CocoaPods 要求您的终端使用 UTF-8 编码 - 在最新的颤振升级之后【英文标题】:iOS - CocoaPods requires your terminal to be using UTF-8 encoding - after latest flutter upgrade 【发布时间】:2020-04-11 19:28:50 【问题描述】:

升级颤振后出现此错误。在升级之前,iosandroid 上一切正常。现在我的项目不在 iOS 中构建。

以下是我的终端信息。

pod 设置 --verbose

    WARNING: CocoaPods requires your terminal to be using UTF-8 encoding.
Consider adding the following to ~/.profile:

export LANG=en_US.UTF-8

pod install --verbose

WARNING: CocoaPods requires your terminal to be using UTF-8 encoding.
Consider adding the following to ~/.profile:

export LANG=en_US.UTF-8

[!] No `Podfile' found in the project directory.


/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.4/lib/cocoapods/command.rb:151:in `verify_podfile_exists!'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.4/lib/cocoapods/command/install.rb:46:in `run'
/Library/Ruby/Gems/2.3.0/gems/claide-1.0.2/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.4/lib/cocoapods/command.rb:52:in `run'
/Library/Ruby/Gems/2.3.0/gems/cocoapods-1.8.4/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:22:in `load'
/usr/local/bin/pod:22:in `<main>'

语言环境

LANG=
LC_COLLATE="C"
LC_CTYPE="C"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=

【问题讨论】:

***.com/questions/69070537/… 看看这个,cocoapods 10.0.1 有效 【参考方案1】:

我终于通过以下步骤解决了这个问题

    导出 LANG=en_US.UTF-8 在 Xcode 中打开项目并清理 它。 在 mac 终端中打开 iOS 文件夹并运行 pod install 它让我对使用 ios 9.0 产生了兴趣,所以我将其更新为 10.0 跑flutter build ios 项目构建成功 在 xode 中打开了 Runner.xcworkspace 点击运行 - 这次 Xcode 再次自动安装 pod

解决了。

【讨论】:

我应该在哪里添加这个导出 LANG=en_US.UTF-8 "1."是问题,你已经用问题陈述回答了这个问题。【参考方案2】:

要迭代 Shruti Tupkari 的回答 ~ 要将 export LANG=en_US.UTF-8 添加到您的终端,需要将其添加到配置文件中,例如 .zshrc.bashrc.bash_profile

要做到这一点,只需使用vim

那就试试吧

vim .zshrc

这应该会打开您的.zshrc 个人资料。输入 'i' 来插入一些东西。

然后只需粘贴export LANG=en_US.UTF-8 按esc 退出,然后输入:wq 保存并退出

再次尝试运行您的应用。如果您收到错误消息,请在您计算机中的其他配置文件上重复相同的步骤。


这里有一些关于如何使用vim的信息

https://www.howtoforge.com/vim-basics

【讨论】:

【参考方案3】:
    使用flutter clean 清理文件 在终端中输入vim .zshrc。这应该会打开您的 .zshrc 个人资料。键入 I 以插入内容。然后,只需粘贴 export LANG=en_US.UTF-8 并按 ESC 退出,然后键入 :wq 保存并退出。 打开项目文件夹,然后在mac终端打开iOS文件夹并运行pod install 它可能会发出使用 ios 9.0 的警告,因此请将其更新为 10.0,以便在文本编辑中打开 Podfile 并取消注释或更改 # platform :ios, '9.0' to platform :ios, '10.0' 通过终端在主根项目中运行flutter build iOS。 运行主根文件,例如。 flutter run

如果您在使用 Flutter 时遇到问题。试试这个解决方案

    删除 Podfile、Podfile.lock、Pods 文件夹、Runner.xcworkspace flutter clean flutter build ios

【讨论】:

我在安装 pod 时得到以下信息 [注意] 您可能在 Ruby 解释器或扩展库中遇到了错误。欢迎提交错误报告。详情:ruby-lang.org/bugreport.html [重要] 不要忘记在错误报告中包含 DiagnosticReports 目录下的 Crash Report 日志文件。 嘿@MohamedAbdul-Malik,请参考此链接以获得帮助:***.com/q/40770482/13400029 这在 macOS montery 上对我有用【参考方案4】:

经过一天的努力,我终于找到了完整的解决方案

按照以下步骤解决此问题

    在 Mac 中使用 Cmd + Shift + dot 取消隐藏填充。 转到 Macintosh HD -> 用户 ->(您的用户)。 搜索.zshrc 用任何编辑器打开它(我推荐VS代码) 下。 #User configuration 注释掉 export LANG=en_US.UTF-8。 打开你的flutter项目,手动删除Pods文件夹、Podfile、Podfile.lock。 (备份所有 podfile) 重新启动您的 Mac 并运行您的 Flutter 应用程序 运行pod install 它将自动以 UTF - 8 编码创建 podfile 及其新配置 享受和放松我得到了你的支持!!!!!

【讨论】:

谢谢,它对我有用...节省我的时间...注意:确保您不要忘记重新启动系统。 它确实解决了这个问题,但是是什么原因导致我的应用在几分钟前运行良好。【参考方案5】:

可以找到正确的解决方案,无需重新安装任何东西:

这里:https://***.com/a/69160445/3821002 在这里:https://***.com/a/69376499/3821002

关键是使用export LC_ALL=en_US.UTF-8

上面的链接解释了如何做到这一点。

【讨论】:

【参考方案6】:

打开终端 输入 open ~/.zshrc(如果你不使用 zsh,则输入 .profile)

看来只有LANG="en_US.UTF-8"还不够,还要设置

export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8

保存文件

返回终端

输入源 ~/.zshrc

输入语言环境

您现在可以安全地运行 pod update 或 pod install

【讨论】:

【参考方案7】:

如果添加export LANG=en_US.UTF-8 没有帮助,请尝试export LC_ALL="en_US.UTF-8"

学分: https://github.com/CocoaPods/CocoaPods/issues/6333#issuecomment-551052399

【讨论】:

【参考方案8】:

要解决此问题,您可能需要找到 ~/.bash_profile(用于 bash)或 ~/.zshrc(用于 zsh)并添加您放入 ~/.profile 的导出行 导出 LANG=en_US.UTF-8

这就是我所要做的。

【讨论】:

以上是关于iOS - CocoaPods 要求您的终端使用 UTF-8 编码 - 在最新的颤振升级之后的主要内容,如果未能解决你的问题,请参考以下文章

Cocoa pods 终端 utf-8 编码

如何在 iOS 设备的 Flutter 中集成 Razorpay Payment

如何解决插件“cocoapods-acknowledgements”

[iOS开发]关于cocoapods的使用

iOS 开发之 CocoaPods 安装与使用

iOS:如何将自己的SDK用CocoaPods管理