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 【问题描述】:升级颤振后出现此错误。在升级之前,ios 和 android 上一切正常。现在我的项目不在 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 编码 - 在最新的颤振升级之后的主要内容,如果未能解决你的问题,请参考以下文章
如何在 iOS 设备的 Flutter 中集成 Razorpay Payment