Ruby3.0.0 で CocoaPods install / update に失敗する問題の解決策
はじめに
Ruby: 3.0.0
CocoaPods: 1.10.1
macOS: 11.1
Xcode: 12.3
現象: Generating Pods project
に失敗する
まず、このような現象は様々な原因が考えられます。エラー文言や挙動確認を行い、自分が直面している問題の原因を探りましょう。この記事がその分析の助けになれば幸いです。
結論だけ知りたい人は
Ruby 3.0.0 以降の方は gem 'rexml'
を Gemfile に追加することで解決するかもしれません。
症状
$ bundle exec pod update --repo-update
Update all pods
Updating local specs repositories
Analyzing dependencies
Downloading dependencies
...
Generating Pods project
――― MARKDOWN TEMPLATE ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
...
### Error
LoadError - cannot load such file -- rexml/document
/Users/akkeylab/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/xcodeproj-1.19.0/lib/xcodeproj/scheme.rb:1:in `require'
/Users/akkeylab/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/xcodeproj-1.19.0/lib/xcodeproj/scheme.rb:1:in `<top (required)>'
/Users/akkeylab/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/xcodeproj-1.19.0/lib/xcodeproj/project.rb:840:in `require'
/Users/akkeylab/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/xcodeproj-1.19.0/lib/xcodeproj/project.rb:840:in `recreate_user_schemes'
...
――― TEMPLATE END ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
[!] Oh no, an error occurred.
Search for existing GitHub issues similar to yours:
https://github.com/CocoaPods/CocoaPods/search?q=cannot+load+such+file+--+rexml%2Fdocument&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...
- LoadError - cannot load such file -- rexml/document
https://github.com/CocoaPods/CocoaPods/issues/10388 [open] [2 comments]
41 minutes ago
- Crash when reading Xcode project during intergration
https://github.com/CocoaPods/CocoaPods/issues/2483 [closed] [76 comments]
30 Mar 2015
-
Generating Pods project
でコケていることが分かる
- Ruby 側のエラーは
LoadError - cannot load such file -- rexml/document
- 同様のエラーに関する issue が立てられている(https://github.com/CocoaPods/CocoaPods/issues/10388)
$ bundle exec pod update --repo-update
Update all pods
Updating local specs repositories
Analyzing dependencies
Downloading dependencies
...
Generating Pods project
――― MARKDOWN TEMPLATE ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
...
### Error
LoadError - cannot load such file -- rexml/document
/Users/akkeylab/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/xcodeproj-1.19.0/lib/xcodeproj/scheme.rb:1:in `require'
/Users/akkeylab/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/xcodeproj-1.19.0/lib/xcodeproj/scheme.rb:1:in `<top (required)>'
/Users/akkeylab/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/xcodeproj-1.19.0/lib/xcodeproj/project.rb:840:in `require'
/Users/akkeylab/.rbenv/versions/3.0.0/lib/ruby/gems/3.0.0/gems/xcodeproj-1.19.0/lib/xcodeproj/project.rb:840:in `recreate_user_schemes'
...
――― TEMPLATE END ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
[!] Oh no, an error occurred.
Search for existing GitHub issues similar to yours:
https://github.com/CocoaPods/CocoaPods/search?q=cannot+load+such+file+--+rexml%2Fdocument&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...
- LoadError - cannot load such file -- rexml/document
https://github.com/CocoaPods/CocoaPods/issues/10388 [open] [2 comments]
41 minutes ago
- Crash when reading Xcode project during intergration
https://github.com/CocoaPods/CocoaPods/issues/2483 [closed] [76 comments]
30 Mar 2015
Generating Pods project
でコケていることが分かるLoadError - cannot load such file -- rexml/document
ざっくり分かることは以上です。
分析と解決策
- Ruby と CocoaPods でミスマッチなバージョンがインストールされていないか確認
- Gemfile で管理している場合は正しい Ruby, CocoaPods が呼び出されているか確認
- ライブラリの依存関係を疑ってインストールするライブラリを1つだけもしくはゼロにする。これでも
Generating Pods project
に失敗するようであればインストールするライブラリ側に問題がある可能性は低い
- CocoaPods をツール系も含めて全て再インストール&キャッシュ( ~/.cocoapods)削除
- 新規プロジェクトを作成して
pod init
してみる。失敗すればプロジェクトファイルに関連する問題は除外される
- 複数 Xcode がインストールされている場合、正しいバージョンにスイッチされているか、正しいデベロッパツールはインストールされているかの確認(Carthage の場合はここの優先度が高い)
Generating Pods project
に失敗するようであればインストールするライブラリ側に問題がある可能性は低いpod init
してみる。失敗すればプロジェクトファイルに関連する問題は除外される本当に行き詰まったときは以上のような確認手順があるかと思います。
ただ今回は、かなり親切にヒントがログとして出力されているのでそちらを見ていきます。
LoadError - cannot load such file -- rexml/document
rexml/document
がロードできなかったと仰っております。
Rails 6.1: What is preventing tests from running?
これをキーに調べてみると上記の記事にたどり着きました。
ざっくりと回答をまとめると「rexml
という gem は Ruby 3.0.0 以降明示的にインストールする必要があります」とのことです。ということで、解決策としては以下の項目を Gemfile に追加、もしくは gem install するということになります。
gem 'rexml'
おわりに
今回の問題は Ruby 側に目を向けてあげる必要があるものでした。問題解決に苦戦したときは少し視野を広げてみると良いかもしれませんね!
Author And Source
この問題について(Ruby3.0.0 で CocoaPods install / update に失敗する問題の解決策), 我々は、より多くの情報をここで見つけました https://qiita.com/AkkeyLab/items/5b6e01f2b97a43995cc9著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .