【问题标题】:Unicode Normalization not appropriate for ASCII-8BITUnicode 规范化不适用于 ASCII-8BIT
【发布时间】:2021-10-18 22:10:46
【问题描述】:
13: from /usr/local/bin/pod:23:in `<main>'
12: from /usr/local/bin/pod:23:in `load'
11: from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0.beta.2/bin/pod:55:in `<top (required)>'
10: from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0.beta.2/lib/cocoapods/command.rb:52:in `run'
9: from /Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:324:in `run'
8: from /Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:337:in `rescue in run'
7: from /Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:396:in `handle_exception'
6: from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0.beta.2/lib/cocoapods/command.rb:66:in `report_error'
5: from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0.beta.2/lib/cocoapods/user_interface/error_report.rb:30:in `report'
4: from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0.beta.2/lib/cocoapods/user_interface/error_report.rb:105:in `markdown_podfile'
3: from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0.beta.2/lib/cocoapods/config.rb:226:in `podfile_path'
2: from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0.beta.2/lib/cocoapods/config.rb:166:in `installation_root'
1: from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.0.beta.2/lib/cocoapods/config.rb:166:in `unicode_normalize'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/unicode_normalize/normalize.rb:141:in `normalize': Unicode Normalization not appropriate for ASCII-8BIT (Encoding::CompatibilityError)

我正面临这些错误,不知道为什么当我运行 pod update 时它会给我这个错误。有什么解决办法吗??

【问题讨论】:

  • 更新 coca pod 解决了我的问题
  • 面临同样的问题 .... 更新 coca pod 没有帮助 .... pod install 没有发生。请有任何解决方案!
  • 对我来说,它是在我将 cocoapods 更新到最新的 1.11.0 之后开始的。我不得不将它降级到 1.10.2 来“修复”它。
  • 请更新可可豆荚解决了

标签: ios flutter dart


【解决方案1】:

这个问题出现在 Cocoapods 1.11.0 中,许多人已经注意到回滚到 1.10.2 解决了这个问题。但最初的问题来自终端中设置的错误区域设置。它必须是基于 UTF-8 的语言环境。

您可以在终端中运行“locale”来检查当前的区域设置。应该是这样的:

LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL=

如果您设置了基于 ascii 的语言环境或“C”(这也是一个 ascii 语言环境),则运行

export LC_ALL=en_US.UTF-8

如果您喜欢其他语言环境(不是 en_US),请运行 locale -a 以查看可用选项列表并选择您喜欢的 UTF-8 语言环境。

实际上 CocoaPods 警告说需要 UTF-8 语言环境:

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

    export LANG=en_US.UTF-8

但在 1.11.0 之前,只有在您使用名称中包含非 ascii 符号(例如中文)的 pod 时才需要它,但从 1.11.0 开始,它变得更加严格。 Cocoapods GitHub 上有一个关于它的讨论: https://github.com/CocoaPods/CocoaPods/issues/10939

【讨论】:

  • 这应该是标记的答案。谢谢
  • 优秀的答案。确实,这比上面引用的 CocoaPods 自己的指导要好,后者仅表明要设置 LANG。只有通过设置所有语言环境设置,这个答案才能解决我的问题。
  • 不幸的是,它没有帮助。 “locale”命令打印一切正确,但我仍然在使用 Google Dependency Resolver 构建 Unity 时遇到此错误。找不到问题,所以降级 CocoaPods。
  • @luvjungle,如果您还没有这样做,我建议通过将“语言环境”调用放入构建管道来验证构建环境本身中的语言环境设置。但这确实可能是您的情况,我只是描述了对我有帮助的调查和解决方案。
  • IntelliJ + Flutter 有同样的问题,我不知道它使用什么 shell/env 来运行构建命令,但既不是 .profile,也不是 .zshrc,也不是 .bashrc,也不是 IntelliJ 自己的终端环境设置很重要....
【解决方案2】:

我修复了它:

我完全卸载了 cocoapods(我的版本是 1.11.0)

gem list --local | grep cocoapods

cocoapods-core (1.11.0) cocoapods-deintegrate (1.0.5) cocoapods-downloader (1.5.0) cocoapods 插件 (1.0.0) cocoapods 搜索 (1.0.1) cocoapods-trunk (1.6.0) cocoapods-try (1.2.0)

sudo gem uninstall cocoapods

sudo gem uninstall cocoapods-core

sudo gem uninstall cocoapods-deintegrate

sudo gem uninstall cocoapods-downloader

sudo gem uninstall cocoapods-plugins

sudo gem uninstall cocoapods-search

sudo gem uninstall cocoapods-trunk

sudo gem uninstall cocoapods-try

然后我安装了 cocoapods 1.10.1 版本(如果需要,您可以尝试使用 1.11.0 以下的更多版本)

sudo gem install cocoapods -v 1.10.1

【讨论】:

  • 效果很好,谢谢 Esteban López。
  • 从 Unity 版本 2020.3.14f1 编译 iOS 游戏时遇到此问题。在我升级 cocoapods / XCode / MacOS 之后发生。这解决了它。
  • 这可行,但会永久设置您的工具。 stackoverflow.com/a/69160445/1224741 是正确的。
【解决方案3】:

Vyacheslav Kormushkin 的答案对我有用。

具体来说,我所做的是:

  • 打开终端
  • 输入open ~/.zshrc(如果不使用zsh,则输入.profile)
  • 添加export LC_ALL=en_US.UTF-8,并保存文件
  • 返回航站楼
  • 输入source ~/.zshrc
  • 输入locale

==> 现在将修复语言环境

==> 您现在可以安全地运行 pod updatepod install

【讨论】:

  • 谢谢,在我创建 .profile 并添加此行后,这些步骤为我解决了问题。我是从 Unity for iOS 构建的。
猜你喜欢
  • 2013-05-04
  • 1970-01-01
  • 2011-12-08
  • 2022-01-09
  • 2012-05-31
  • 1970-01-01
相关资源
最近更新 更多