CocoaPodsのこんなエラー
2018.06.13

ひょっとしたら、同じハマり方をする人が居るかもしれないので書いておきます。
CocoaPodsってハマるようなものではないですが、新たらしいMacBook Proになってから入れてすらなかったのでインストールして使おうとしたら
[以下、全てterminalで実行しています。]
pod init
でコケる、、、
自作でPodfileを作って
pod install
当たり前だけど、コケる、、、、
エラー内容は以下
WARNING: CocoaPods requires your terminal to be using UTF-8 encoding. Consider adding the following to ~/.profile: export LANG=en_US.UTF-8 âââ MARKDOWN TEMPLATE âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ ### Command ``` /usr/local/bin/pod init ``` ### Report * What did you do? * What did you expect to happen? * What happened instead? ### Stack ``` CocoaPods : 1.4.0 Ruby : ruby 2.3.3p222 (2016-11-21 revision 56859) [universal.x86_64-darwin17] RubyGems : 2.7.6 Host : Mac OS X 10.13.3 (17D102) Xcode : 9.2 (9C40b) Git : git version 2.16.2 Ruby lib dir : /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib Repositories : master - https://github.com/CocoaPods/Specs.git @ bb4c5eff0b6c3cebf1251d554a8a8d7ed33f0426 ``` ### Plugins ``` cocoapods-deintegrate : 1.0.2 cocoapods-plugins : 1.0.0 cocoapods-search : 1.0.0 cocoapods-stats : 1.0.0 cocoapods-trunk : 1.3.0 cocoapods-try : 1.1.0 ``` ### Error ``` Encoding::CompatibilityError - incompatible encoding regexp match (UTF-8 regexp with ASCII-8BIT string) /Library/Ruby/Gems/2.3.0/gems/nanaimo-0.2.3/lib/nanaimo/reader.rb:231:in `skip' /Library/Ruby/Gems/2.3.0/gems/nanaimo-0.2.3/lib/nanaimo/reader.rb:231:in `eat_whitespace!' /Library/Ruby/Gems/2.3.0/gems/nanaimo-0.2.3/lib/nanaimo/reader.rb:254:in `skip_to_non_space_matching_annotations' /Library/Ruby/Gems/2.3.0/gems/nanaimo-0.2.3/lib/nanaimo/reader.rb:127:in `parse_object' /Library/Ruby/Gems/2.3.0/gems/nanaimo-0.2.3/lib/nanaimo/reader.rb:106:in `parse!' /Library/Ruby/Gems/2.3.0/gems/xcodeproj-1.5.6/lib/xcodeproj/plist.rb:27:in `read_from_path' /Library/Ruby/Gems/2.3.0/gems/xcodeproj-1.5.6/lib/xcodeproj/project.rb:201:in `initialize_from_file' /Library/Ruby/Gems/2.3.0/gems/xcodeproj-1.5.6/lib/xcodeproj/project.rb:103:in `open' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.4.0/lib/cocoapods/command/init.rb:41:in `validate!' /Library/Ruby/Gems/2.3.0/gems/claide-1.0.2/lib/claide/command.rb:333:in `run' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.4.0/lib/cocoapods/command.rb:52:in `run' /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.4.0/bin/pod:55:in `<top (required)>' /usr/local/bin/pod:23:in `load' /usr/local/bin/pod:23:in `<main>' ``` âââ TEMPLATE END ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ [!] Oh no, an error occurred. Search for existing GitHub issues similar to yours: https://github.com/CocoaPods/CocoaPods/search?q=incompatible+encoding+regexp+match+%28UTF-8+regexp+with+ASCII-8BIT+string%29&type=Issues If none exists, create a ticket, with the template displayed above, on: https://github.com/CocoaPods/CocoaPods/issues/new Be sure to first read the contributing guide for details on how to properly submit a ticket: https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md Don't forget to anonymize any private data! Looking for related issues on cocoapods/cocoapods... /Library/Ruby/Gems/2.3.0/gems/gh_inspector-1.1.2/lib/gh_inspector/sidekick.rb:67:in `url_for_request': uninitialized constant GhInspector::Sidekick::ERB (NameError) from /Library/Ruby/Gems/2.3.0/gems/gh_inspector-1.1.2/lib/gh_inspector/sidekick.rb:24:in `search' from /Library/Ruby/Gems/2.3.0/gems/gh_inspector-1.1.2/lib/gh_inspector/inspector.rb:65:in `search_query' from /Library/Ruby/Gems/2.3.0/gems/gh_inspector-1.1.2/lib/gh_inspector/inspector.rb:59:in `search_exception' from /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.4.0/lib/cocoapods/user_interface/error_report.rb:119:in `search_for_exceptions' from /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.4.0/lib/cocoapods/command.rb:67:in `report_error' from /Library/Ruby/Gems/2.3.0/gems/claide-1.0.2/lib/claide/command.rb:396:in `handle_exception' from /Library/Ruby/Gems/2.3.0/gems/claide-1.0.2/lib/claide/command.rb:337:in `rescue in run' from /Library/Ruby/Gems/2.3.0/gems/claide-1.0.2/lib/claide/command.rb:325:in `run' from /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.4.0/lib/cocoapods/command.rb:52:in `run' from /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.4.0/bin/pod:55:in `<top (required)>' from /usr/local/bin/pod:23:in `load' from /usr/local/bin/pod:23:in `<main>'
[!] Oh no, an error occurred.がとても悲しい感じ
当然、この下に書いてあるURLに行ってみるものの、コンテンツとしてない物や全く参考にならないページだったりする。
さらにCocoaPodのソースコードに関連する問題を探し出せと書いてある、、、
イヤだ、、、
コンソールに返ってきた上記メッセージを上から読もうかなと、心に決めていきなりの1〜3行目
意訳すると、「お前のコンソールはUTF-8じゃねーよ」と書いてある。
あれま。。。
と言う事で確認
$ locale LANG="ja_JP" LC_COLLATE="ja_JP" LC_CTYPE="ja_JP" LC_MESSAGES="ja_JP" LC_MONETARY="ja_JP" LC_NUMERIC="ja_JP" LC_TIME="ja_JP" LC_ALL=
ふむふむ、じゃあ言われた通りに設定
$export LANG=en_US.UTF-8
改めてpod init を実行。成功!
ただなんかしっくりこない。
俺日本人だし、、、
$ export LANG=ja_JP.UTF-8
コレで改めてpod init実行
成功!
と言う事で、無事解決です。
でも何故、ja_JPに設定されていたのかはナゾ
以下の様にターミナルの設定を変えると、ja_JPになることまでは突き止めましたが、残念ながら自分の環境ではそうはなっていませんでした。
ちなみに日本語のMacでは標準では以下の様にja_JP.UTF8に設定されてます。
$ locale LANG="ja_JP.UTF-8" LC_COLLATE="ja_JP.UTF-8" LC_CTYPE="ja_JP.UTF-8" LC_MESSAGES="ja_JP.UTF-8" LC_MONETARY="ja_JP.UTF-8" LC_NUMERIC="ja_JP.UTF-8" LC_TIME="ja_JP.UTF-8" LC_ALL=
何かの参考になれば幸いです。
CocoaPod:https://cocoapods.org/
CONTACT
お問い合わせ
あなたの「想い」に挑戦します。
どうぞお気軽にお問い合わせください。
受付時間:平日9:00〜18:00 日・祝日・弊社指定休業日は除く
