TECHBLOGスキルブログ

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になることまでは突き止めましたが、残念ながら自分の環境ではそうはなっていませんでした。
スクリーンショット 2018-02-21 14.07.00

 

ちなみに日本語の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/

              

OTHER CONTENTSその他のコンテンツ

UNITRUST会社を知る

  • 私たちについて

  • 企業情報

SERVICE事業内容

  • システム開発

  • 自社サービス

CONTACT
お問い合わせ

あなたの「想い」に挑戦します。

どうぞお気軽にお問い合わせください。

受付時間:平日9:00〜18:00 日・祝日・弊社指定休業日は除く

お問い合わせ