62
31

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

CocoaPodsのインストールで手間取ったこと

Last updated at Posted at 2020-03-09

Flutterの環境構築で少し詰まったのでメモ。

詰まったこと

flutter doctorでエラーを消していく作業中、CocoaPodsのインストールで手間取った。

$ sudo gem install cocoapods
~~~省略~~~
Building native extensions. This could take a while...
ERROR:  Error installing cocoapods:
	ERROR: Failed to build gem native extension.

native extensionsとは。
gemでなんとなく予想はついていたけれど、Ruby関係のエラーっぽい。
とはいえ、Rubyは触ったことがないのでよく分からない。
gemが何なのか分からなかったので調べてみると、Rubyのライブラリ?のようだ。
ということは、何かしらの依存関係が原因でエラーが出ている??
native extensionsについても調べてみると、Ruby以外の言語(C++とか)で書かれているライブラリを参照しているRubyのコードがあるときに発生するエラーらしい(日本語がわかりにくい)。
現時点で分かっている情報を整理すると、gemの一種であるCocoaPodsをインストールしようとしたけど、CocoaPodsと何かの依存関係が原因で、インストールできなかったと。
こういうこと??

さらに

CocoaPodsが何とうまくいっていないのか調べてみると、RubyとCocoaPodsのバージョンが怪しい。
CocoaPodsの最新バージョンはGitによると1.9.0。
しかし、Mojave(10.14.6)にもともとインストールされているRuby2.3.7では正常に動かないらしい。
Rubyのバージョンを下げるか、インストールするCocoaPodsのバージョンを下げることが解決策になるのか・・・?

結局

$ sudo gem install -v1.8.4 cocoapods -n /usr/local/bin

インストールするCocoaPodsのバージョンを1.9.0の一つ前の1.8.4にを下げました(正確にいうとインストール時にバージョン指定した)。
末尾の-n /usr/local/binは、Mojaveではroot権限を持っているユーザーでもusr直下に何かをインストールできないという制約があるため、-n /usr/local/binでインストール先をデフォルトではない/usr/local/binに明示的に変えています。

参考

Rubyのgemをインストールしている際に他のライブラリのインストールを要求してくるnative extensionとは何者か
Cocoapodsがインストール出来ず、エラーが発生する
CocoaPods1.9.0 cannot install on Mojave10.14.6
[MacOSX El Capitanでcocoapodsインストールが出来ない時の対処法]
(https://qiita.com/tasaiii725/items/4bb4708de03e6ee14a4a)
CocoaPods

62
31
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
62
31

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?